(一)需求
快半个月了,一直在学习链表的相关算法知识和做题。 今儿来小结下~
(二)单链表和双链表小结
1、共同点
- 它们都无法在常量时间内随机访问数据。
- 它们都能够在 O(1) 时间内在给定结点之后或列表开头添加一个新结点。
- 它们都能够在 O(1) 时间内删除第一个结点。
2、不同点
- 在单链表中,它无法获取给定结点的前一个结点,因此在删除给定结点之前我们必须花费 O(N) 时间来找出前一结点。
- 在双链表中,这会更容易,因为我们可以使用“prev”引用字段获取前一个结点。因此我们可以在 O(1) 时间内删除给定结点。
(三)单链表和双链表的对比
- 如果你需要经常添加或删除结点,链表可能是一个不错的选择。
- 如果你需要经常按索引访问元素,数组可能是比链表更好的选择。
参考链接
作者:力扣 (LeetCode) 链接:leetcode.cn/leetbook/re…
写在最后的话
学习路上,常常会懈怠
《有想学技术需要监督的同学嘛~》 mp.weixin.qq.com/s/FyuddlwRY…