链表的定义

区别于上一节的数组,链表并不需要一块连续的内存空间,它通过“指针”来将一组零散的内存块串联起来使用。

链表的特性

概念比较多,头节点、尾节点、后继指针、

链表的分类

单链表、双向链表、循环链表

  • 循环链表:是一种特殊的单链表,跟单链表唯一的区别就是在尾结点,单链表尾结点指针指向为null,而循环链表尾结点是指向链表头结点,当要处理的数据具有环形结构特点时,特别适合采用这种数据链表,代表是约瑟夫问题
  • 双向链表:前驱指针、后继指针
  • 双向循环链表

各类型链表操作(查询、插入、删除)实现及复杂度分析

链表的插入和删除操作对应的时间复杂度是O(1)

链表与数组性能对比

链表与散列表

链表小故事

如何实现LRU缓存淘汰算法?

leetcode链表练习题目