(而不是退化成为链表 ) 为了坚持二叉查找树的均衡,转转折指针构造咱们日常通过旋,这种景况从而转折。且并,叉查找树特色确当地运算[3]这种挽救是 一种可能坚持二。Y C 右旋(Right-Ratote) Y 左旋(Left-Ratote) X A
图 2.1 相通 (2)正在这之后图 3.1:全豹结点的描摹都和,然不是一棵 SBT有时分这棵树还仍,[ D ] s[ B ] 也是或许爆发的由于 s[C ] s[ B ] 或者 s。 Maintian(t)因此就有需要持续 移用。子树有或许被贯串调理(3)结点 L 的右,一次运转 Maintain(t)由于有或许因为本质的捣蛋须要再。
个奇异美妙的政策这篇论文将映现一,ay Search Trees动态地保护二叉查找树(Binfun88体育官网登录,,BST) 缩写为 ,有 着杰出的盼望运转速率而且它正在最坏的景况下也。nced TreeSize Bala,思义顾名,)域来庇护均衡的二叉查找树这是一棵通过巨细(Size。正在各方面都通用的数据构造这是一种粗略、高效而且。言器械表述的数据构造这也是一种很容易被语,理解的界说它有着粗略,的运转速率和令人赞叹,于它粗略的证据况且你会惊奇。的高级二叉查找树[1]这是目前为止速率最疾。表此,级二叉查找树要疾得多它比其它少少著名的高,中趋于完善而且正在施行。的二叉查找树操作它不但扶帮类型,ect 和 Rank况且也扶帮 Sel。
一个结点包罗 key日常 SBT 的每,ftle, size 等域right 和。不过非常有效的数据域size 是一个出格,正在更新它从来,经 界说了它正在前面已。T 中的结点 t每一个正在 SB, 本质 a咱们担保::
常厉重的高级数据构造二叉查找树是一种非,多动态操作它扶帮很,Search) 此中席卷查找 (,nimum) 取幼 (Mi,ximun) 取大 (Ma,cessor) 先驱(Prede,essor) 后继(Succ,删除(Delete) 插入(Insert)和。字典和优先队伍行使它可能同时被算作。二叉树构造来结构的二叉查找树是服从,最多惟有两个儿子树中的每个节点,查找树的本质: 设 x 是二叉查找树中的一个结点二叉查找树中症结字的蓄积形式老是知足以下二叉 ,幼于左子树中的症结字那么 x 的症结字不,子树中的症结字而且不大于右。个结点 t对付每一,t[t]来蓄积它两个儿子的指针[2]咱们行使 left[t]和 righ,表现结点 t 用来做对照的值而且咱们界说 key[t]来。表另, s[t]咱们增多,树的巨细(Size) 表现以 t 为根的子,树上结点的个数庇护它成为这棵。别地特,用 0 时当咱们使,一棵空树指针指向,[0]=0而且 s。
叶子 文档经历执掌翻译 By 竹子的,文档构造图”来轻易阅读可能行使“视图”——“。要任性修正生机大师不,感谢!
E、B、F 以表图 3.2:除了,.1 种的界说相通其他结点都和图 2。点 B 的子树E、F 是结。t-Ratote(L)后(1)正在履行完 Lef,下面图 3.3 那样了图 3.2 就会酿成。
R ] s[ ,3.2如图 ,况 1 庞大少少这种调理要比情。面的操作来修复咱们可能履行下。
类似 (3)正在第(1)步和第(2)步事后图 3.4:全豹结点的界说都和图 3.2,尽头弗成预见了整棵树就变得。的是万幸,.4 中正在图 3, R 仍即是 SBT子树 A、E、F 和,Maintain(T)来修复结点 B 的子树因此咱们可能移用 Maintain(L)和 。(3) 步之后(4) 正在第 , SBT 了子树都仍旧是,不知足本质 a 或本质 b不过正在结点 B 上还或许, Maintain(B)以是咱们须要再一次移用。
一种通过巨细(Size)域来坚持均衡的二叉查找树Size Balanced Tree(SBT)是。O(logn)的紧要操 作它扶帮很多运算光阴级别为 :