【发布时间】:2020-03-31 22:50:42
【问题描述】:
我知道一个函数的空间复杂度是什么,但是没听说过一个类的空间复杂度,是指它的属性可以占用的空间吗?
【问题讨论】:
标签: class oop complexity-theory space-complexity
我知道一个函数的空间复杂度是什么,但是没听说过一个类的空间复杂度,是指它的属性可以占用的空间吗?
【问题讨论】:
标签: class oop complexity-theory space-complexity
我不是专家。但我觉得你的问题很有趣。然后我会尝试给出一个其他人可以完成或不同意的可能答案。
我想从一个定义开始,以使事情变得具体。让我们以 Java 为例。根据w3schools,Java 中的一切都与类和对象以及它的属性和方法相关联。例如:在现实生活中,汽车是一个物体。汽车具有属性,例如重量和颜色,以及方法,例如drive和brake。 因此,要研究类空间复杂度,您需要研究 IMO 中每个事物的复杂性:
类属性空间复杂度
在我们的例子中:weight 和 color
类方法空间复杂度
在我们的示例中:drive 和 brake
但它比你应该考虑继承更微妙。我们的汽车可以扩展一个Vehicle类,为什么不呢。你也应该考虑作曲。我们的类可以有更复杂的属性,例如 Engine。 这是一个大概的想法,希望对您有所帮助。
【讨论】: