实际上就是计算机给你开辟一段连续的地址,因此访问每一个元素的时间(复杂度)是一样的
但进行删除或者插入的时候,复杂度就会编程O(n)
linked list 弥补数组的缺点
linked list新增节点
但查询任意节点就只能从头或者尾部进行逐一挪动
skip list
考虑链表随机查询如何提高速度: (升维)
1.增加索引 (每个索引 next+1)
跳表查询任意数据的时间复杂度就是O(logn)
推荐几片文章:
LRU cache - linked list
LRU缓存算法 - 简书一、什么是缓存 这里说的缓存是一种广义的概念,在计算机存储层次结构中,低一层的存储器都可以看做是高一层的缓存。比如Cache是内存的缓存,内存是硬盘的缓存,硬盘是网络的缓存等...https://www.jianshu.com/p/b1ab4a170c3c
力扣https://leetcode-cn.com/problems/lru-cache/
Redis - Skip list
跳跃表 — Redis 设计与实现https://redisbook.readthedocs.io/en/latest/internal-datastruct/skiplist.html
实战: 移动零;