根据这个非常好的book,“大小,另一方面,总是需要n个步骤,因为没有办法知道链接列表中有多少节点而没有从头到达因此,长度为O(n)。“。
我想知道为什么你不能在UnorderedList类中拥有一个属性,当添加或删除节点时,该属性可以递增或递减。这是否特定于本书中“大小”的实现?
答案 0 :(得分:2)
我想知道为什么你在UnorderedList类中没有属性 添加或删除节点时可以递增或递减 分别。这是否适用于" size"的实施?在这 预定?
显然,某些链接列表实现可以通过递增或递减数字属性来优化对其项目的计数。
但是,如果没有优化,那么除了迭代整个集合之外,没有其他方法来计算链接列表项目。
答案 1 :(得分:1)
当然,您可以将长度保存在变量中,因此您不必一次又一次地查询它。本书使用的实现不需要这个加变量,但是size函数的复杂度是O(N)。尺寸权衡的复杂性。