-
链表是不需要连续的内存空间,通过指针将一组零散的内存块关联起来,同时我们将内存块称为结点,结点除了存储当前数据,还要记录下一个结点的地址。
-
由于链表是不连续的内存空间,所以查询的时候,时间复杂度为O(N),但是删除和新增时间复杂度为O(1),但是当你需要删除节点的时候,你需要先找到这个节点,而找到这个节点的时间复杂度为O(N)。
-
链表分为 单链表,循环链表,双向链表,双向循环链表
-
单链表与双向链表区别:
- 如何实现LRU缓存淘汰算法
缓存: 设计添加与删除操作
添加的时候判断缓存是否存在,如果存在,就把已经有的删除,然后把新的缓存放入头。
如果不存在,分为两种情况,缓存满了则将尾部节点删除,新节点插入头部。
未满直接插入头部。