- 单链表

每个节点只包含一个指针,即后继指针
头节点指向整条链表,尾节点的后继指针指向空地址 null
插入和删除节点的时间复杂度为O(1),查找的时间复杂度为O(n)
- 双向链表

节点除了存储数据外,还有两个指针分别指向前一个节点地址(前驱指针prev)和下一个节点地址(后继指针next)
头节点的前驱指针prev和尾节点的后继指针均指向空地址
- 循环链表

除了尾节点的后继指针指向头节点的地址外均与单链表一致。 适用于存储有循环特点的数据,比如 约瑟夫斯问题
- 双向循环链表

头节点的前驱指针指向尾节点,尾节点的后继指针指向头节点
链表的时间复杂度
| 操作 | 复杂度 |
|---|