跳跃表

跳跃表是一个对链表结构的扩展,快速查找到有序链表结点。对于链表,如果要查找某一个结点,这时候就要对链表进行一个一个的比较,这时候的时间复杂度就是O(n)。速度其实不算慢了,但是有没有更加快速的方法呢。就跟查询表数据那样,有几千万数据时,查询一条数据,需要一条一条来对比,这不就炸了吗?那么数据库是怎么解决的?就是用的索引了。在链表上建立一层一层的链表,存储对应索引或结点的引用,根据查找的数据,在第一层索引确定范围,然后第二层...到数据层链表,之后只需要沿着链表对比少量结点就能找到了。插入结点时,对节点做循环随机50%的几率升层作为索引,能上几层就几层。删除结点,删除相应对应的引用了的索引。

参考:什么是跳跃表?


首页 我的博客
粤ICP备17103704号