Skip to content

Commit 73bf1a9

Browse files
authored
Update LinkedList.md
- 源码中的实现应该是判断 index 是否超过 size 的一半,如果超过了,那么从尾结点开始遍历 这样做可以将性能从原来的`O(n)`提升为`O(n/2)`,故而应该是约接近中间结点,耗时越久。
1 parent a167895 commit 73bf1a9

File tree

1 file changed

+5
-2
lines changed

1 file changed

+5
-2
lines changed

MD/LinkedList.md

+5-2
Original file line numberDiff line numberDiff line change
@@ -56,9 +56,12 @@
5656

5757
由此可以看出是使用二分查找来看 `index` 离 size 中间距离来判断是从头结点正序查还是从尾节点倒序查。
5858

59-
这样的效率是非常低的,特别是当 index 距离 size 的中间位置越远时。
59+
- `node()`会以`O(n/2)`的性能去获取一个结点
60+
- 如果索引值大于链表大小的一半,那么将从尾结点开始遍历
61+
62+
这样的效率是非常低的,特别是当 index 越接近 size 的中间值时。
6063

6164
总结:
6265

6366
- LinkedList 插入,删除都是移动指针效率很高。
64-
- 查找需要进行遍历查询,效率较低。
67+
- 查找需要进行遍历查询,效率较低。

0 commit comments

Comments
 (0)