高级搜索树

Posted yongchao

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了高级搜索树相关的知识,希望对你有一定的参考价值。

高级搜索树

伸展树

逐层伸展 宽松平横

局部性

Locality: 刚被访问过的数据,极有可能很快再次被访问--->信息处理中常见 //BST

BST:刚刚被访问过的节点,极有可能很快再次被访问
下一将要访问的节点,极有可能就在刚被访问过的节点的附近
连续的m次 查找(m >> n =|BST|) ,采用AVL共需要O(mlogn)时间

个人理解:在足够长的时间中,把被访问次数足够多的节点放到前面,增加访问效率

逐层伸展

节点v一旦被访问,随即转移至树根
--->通过旋转的方法移动二叉树的节点。
zig(顺时针)、zag(逆时针)

一步一步往上爬

自下而上,逐层单旋
	zig( v->parent)
	zag( v->parent)
直到v最终被`推送`至根

最坏情况

旋转次数呈周期性算术级数演变:每一周期累计Omega left ( n^{2} ight ) 分摊Omega left ( n ight )---->Latex公式编辑器

双层伸展

构思精髓:向上追溯两层,而非一层
反复考察祖孙三代:g=parent(p),p=parent(v),v
根据他们的相对位置,经两次旋转使得v上升两层,成为(子)树根

zig-zag zag-zig 与AVL树双旋完全等效 与逐层伸展别无二致
zig-zig zag-zag -->先移动祖父节点,然后移动父节点








以上是关于高级搜索树的主要内容,如果未能解决你的问题,请参考以下文章

第八章 高级搜索树 (b3)B-树:查找

LeetCode810. 黑板异或游戏/455. 分发饼干/剑指Offer 53 - I. 在排序数组中查找数字 I/53 - II. 0~n-1中缺失的数字/54. 二叉搜索树的第k大节点(代码片段

高级搜索树

论线段树

高级数据结构线段树

第八章 高级搜索树 (xa4)红黑树:删除