跳到主要内容

链表(LinkedList)

链式储存的线性表,元素在内存上的地址不是连续的。

常用链表

  • 单链表
    • 每个节点指向下一个节点,最后一个节点指向 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)