伸展预序与后序
数据结构与算法
2019-07-16 v1
摘要
设 为一棵二叉搜索树。我们证明关于 Splay 算法(Sleator 与 Tarjan,1985)行为的两个结果。我们的第一个结果是:以 的预序或 的后序顺序通过伸展将键插入空二叉搜索树所需时间为线性。我们的证明利用了预序与后序是避免模式的这一事实:即它们分别不包含与 和 保序同构的子序列。模式避免意味着对插入方式施加了某些约束。我们利用这一结构,借助一个简单势函数,该函数统计位于通往未插入节点的访问路径上的已插入节点。我们的方法很可能推广到避免更一般模式的排列。其次,若 为任意其他与 具有相同键且 是权重平衡的(Nievergelt 与 Reingold,1973)的二叉搜索树,则从 出发伸展 的预序序列或 的后序序列所需时间为线性。为证明此点,我们证明平衡搜索树的预序与后序在对称序中不包含许多大的“跳跃”,并利用动态手指定理(Cole 等人,2000)这一事实。我们的两个结果均为难以捉摸的“动态最优性猜想”提供了进一步的证据。
引用
@article{arxiv.1907.06309,
title = {Splaying Preorders and Postorders},
author = {Caleb C. Levy and Robert E. Tarjan},
journal= {arXiv preprint arXiv:1907.06309},
year = {2019}
}