被问到一个问题,来记载一下;
链表特别长,我要怎么改善增删改查的效率?一亿个数据?
------跳表
跳表全称为跳跃列表,它允许快速查询,插入和删除一个有序连续元素的数据链表。跳表列表的平均查找和插入时间复杂度是O(logn)。
快速查询是通过维护一个多层次的链表,且每一层链表中的元素是前一层链表元素
的子集,一开始时,算法在最稀疏的层次进行搜索,直至需要查找的元素在该层两个相邻的元素中间。这时,算法将跳转到下一个层次,重复刚才的搜索,直到找到需要查找的元素为止。
跳表是用空间来换时间:跳表的效率比链表高了,但是跳表需要额外存储多级索引,所以需要的更多的内存空间。
关于跳表详细的介绍:
https://zhuanlan.zhihu.com/p/68516038