在LinkedList类的java中的元素有索引吗?如果是,那么当它可以直接使用对象的索引进行搜索时,为什么它的性能o(n)在最坏的情况下对于搜索操作?如果不是那么我们如何使用该void add(int index, Object item)方法在链表的中间插入一个对象?
它们有一个逻辑索引,是 - 实际上是从头部开始,在到达该节点之前需要迭代的次数.
这与说"它可以直接使用对象的索引进行搜索"并不相同 - 因为它不能.
通常,索引的O(1)访问是通过使用数组查找来执行的,而在链表的情况下,没有数组 - 只有一个节点链.要访问索引为N的节点,您需要从头部开始并沿着链路走N次...这是一个O(N)操作.
| 归档时间: |
|
| 查看次数: |
1091 次 |
| 最近记录: |