“MTF 是自调整数据结构和竞争分析的早期范例。证明中的势同时依赖在线算法与比较算法,展示了势能法不仅能分析单个数据结构的摊还操作,也能追踪两个动态状态之间的距离。”
形式陈述 ​
序列模型 ​
对访问序列
Working-set 界按自上次访问
直觉
访问改变结构 ​
伸展树访问后把键旋到根。连续访问同一键,第一次可能沿长度
单次延迟仍可
例子与边界
开放边界 ​
“与任何离线 BST 常数竞争”的动态最优性是一个特定而开放的比较基准,不能附给所有自调整结构。只证明 working-set、dynamic-finger 或 access lemma 时,应准确报告对应定理。
Working-set 参数计算自上次访问该键之后出现过的不同键数,不是间隔操作数或全局频率。例如序列
伸展步骤的状态演化 ​
访问节点
在键链
推论与应用
Access lemma 的证明图像 ​
令
势可能在一次操作后大幅下降,所以实际线性成本仍可有对数摊还;把势能项丢掉就会错误得到最坏界。
与随机平衡和静态最优的对照 ​
Treap 在创建节点时随机决定形状,不因访问改变;最优静态 BST 假设频率已知,构建后固定;自调整结构从序列在线学习局部性,却为重排付费。三者的“常用键较浅”来源不同,概率和比较基准也不同。
参考资料
- Daniel Sleator, Robert Tarjan, “Self-Adjusting Binary Search Trees,” JACM, 1985.
- Sleator, Tarjan, “Amortized Efficiency of List Update and Paging Rules,” CACM, 1985.