数据结构——跳表

 

王争数据结构17——笔记

1、为了使以链表存储的数据仍然能够使用二分查找,将链表进行改造形成跳表。

2、跳表是一个动态数据结构,支持快速的插入、删除、查找,具有替代红黑树的能力。

3、跳表就是链表增加多级索引的结构。通常跳表的时间复杂度为O(3logn),即O(logn)。查找的时间复杂度和二分查找相同。

4、跳表是典型的空间换时间。原始链表大小为n,每隔两个节点抽1个,总结点数目为n/2,n/4,……,8,4,2,相加后为n-2.空间复杂度为O(n)。

5、跳表的动态插入、删除操作的时间复杂度为O(logn)。

6、当不停地往跳表中插入数据时,跳表可能出现退化,变为单链表。因此当向跳表中插入数据的时候,可以选择同时利用索引函数将这个数据插入到部分索引层中。

你可能感兴趣的:(数据结构)