哪一家番禺网站开发公司擅长于提供房产相关网站服务?
摘要:番禺网站开发哪家强,关于房产的网站有哪些,云服务器哪家最便宜,网站版建设目录 前言 跳表 查询时间分析 1、时间复杂度o(logn) 2、空间复杂度O(n) 动态插入和删除 跳表动态更新 跳表与红黑树比较 跳表实现 前言 二分查找用的数
番禺网站开发哪家强,关于房产的网站有哪些,云服务器哪家最便宜,网站版建设目录
前言
跳表
查询时间分析
1、时间复杂度 o(logn)
2、空间复杂度O(n)
动态插入和删除
跳表动态更新
跳表与红黑树比较
跳表实现 前言
二分查找用的数组
链表可不可以实现二分查找呢#xff1f;
跳表 各方面性能比较优秀的动态数据结构#xff0c;可以支持快速…目录
前言
跳表
查询时间分析
1、时间复杂度 o(logn)
2、空间复杂度O(n)
动态插入和删除
跳表动态更新
跳表与红黑树比较
跳表实现 前言
二分查找用的数组
链表可不可以实现二分查找呢
跳表 各方面性能比较优秀的动态数据结构可以支持快速插入、删除、查找操作。写起来也不复杂甚至可以代替红黑树。
跳表特点
对链表建立一级索引每两个节点提取一个节点到上一级叫做索引节点。
加一层索引之后查找一个结点需要遍历的节点个数减少了也就是查找效率提高了。
这种查找方式就是跳表
查询时间分析
1、时间复杂度 o(logn)
在单链表中查询某个数据的时间复杂度O(N)跳表n个节点会有几层索引。
第k级索引的节点个数是k-1级索引节点个数的1/2即 第k级索引节点的个数 n/2^kk log2n-1,如果包含原始链表层整个跳表的高度是log2 n在跳表查找某个数据时如果每一层需要遍历m个节点那么跳表查询一个数据的时间复杂度O(m*logn)m是多少 每一级索引最多只需要遍历3个节点 m 3 常数 2、空间复杂度O(n)
索引节点的个数 n/2n/4n/8…842n-2 ,所以跳表的空间复杂度O(n)
意思是n个节点的单链表改成跳表需要额外再用接近n个节点的内存空间。
在软件开发中原始链表中存储的有可能是很大的对象而索引节点只需要存储关键值和几个指针并不需要存储对象。所以当对象所以节点很大时索引占用的空间可以忽略不计了。
动态插入和删除
插入、删除操作时间复杂度O(logn)
查找需要遍历每个节点。查找时间复杂度O(logn)
删除要拿到前驱节点如果是双向链表不需要考虑这个问题。
跳表动态更新
插入数据如果跳表不更新跳表会退化成单链表。跳表通过随机函数维护 “平衡性”往跳表中插入数据时同时将数据插入到索引层中。哪个索引层通过随机函数决定这个点插入到哪几级索引如随机函数生成K则节点添加到第一级到第K级索引中。
跳表与红黑树比较
1按照区间查找数据红黑树的效率没有跳表高。
