伸展树

2017-10-25  本文已影响0人  NoFacePeace

概念

伸展树是一种二叉查找树,它能在O(logn)内完成插入、查找和删除操作。
伸展树是一种自调整形式的二叉查找树,它会沿着从某个节点到树根之间的路径,通过一系列的旋转把这个节点搬移到树根去。
它的优势在于不需要记录用于平衡树的冗余信息。

优点

缺点

伸展树最明显的缺点是它有可能会变成一条链表。这种情况可能发生在以非降顺序访问n个元素之后。然而均摊的最坏情况是对数级的O(logn)

基本操作

伸展树主要有三种旋转操作,分别为单旋转,一字形旋转和之字形旋转。为了便于解释,我们假设当前被访问节点为X,X的父亲节点为Y(如果X的父亲节点存在),X的祖父节点为Z(如果X的祖父节点存在)。

单旋转 一字型旋转 之字形旋转
上一篇 下一篇

猜你喜欢

热点阅读