链表

常见淘汰策略

链表的特性

不需要连续的储存空间,而是通过指针讲一堆零散的内存快串联起来。;

单链表

由于数组需要连续的储存空间,所以在增删操作时需要移位补漏,所以时间复杂度是O(n),而链表因为空间本身不是连续的,所以不需要移位,所以时间复杂度是O(1)。

循环链表

双向链表

节点中同时具备前驱和**后继双指针

LRU算法

在一个固定长度并且有序的链表结构中存入数据,由于有序,所以最先插入的就会排在链尾。

当访问数据时,从链头开始遍历查询到对应节点,并将它移到链头;

如果没有查询到,则将新数据插入链头。

如果插入后发现链表已超出固定长度,则删除链尾。