链式储存的线性表,元素在内存上的地址不是连续的。
常用链表
- 单链表
- 每个节点指向下一个节点,最后一个节点指向 null
- 单链表(带头节点)
- 双链表
- 每个节点包含两个指针,一个指针指向下一个节点,一个指针指向前一个节点
- 循环单链表
- 在单链表的基础上,最后一个节点的下一个节点指向头节点
- 循环双链表
- 在双链表的基础上,头节点的前一个节点指向尾节点,尾节点的下一个节点指向头节点
复杂度
操作类型 | 最好 | 最坏 | 平均 |
---|
增加 | O(1) | O(n) | O(n) |
删除 | O(1) | O(n) | O(n) |
修改 | O(1) | O(n) | O(n) |
查找 | O(1) | O(n) | O(n) |