数据结构与IP查找算法的优化探索
1. 链式伸展树的特性与竞争力分析
链式伸展树(Chain - Splay)在数据结构领域有着独特的地位。在对其进行分析时,我们发现while循环最多重复 leveli(σi) 次。这是因为树 Si 遵循 Pi 的链,所以沿着路径 σi → root(Si) 最多会遇到 leveli(σi) 条链。
值得注意的是,将 σi 伸展到 p(C) 的顶部节点时,可以避免伸展操作中的“zig”规则。这样一来, σi 可能不会成为 p(C) 的顶部节点,而只是其左子节点或右子节点。不过,即便如此,我们的分析依然成立,只需进行一些细微的修改。因此,被访问的元素可以以与经典伸展操作完全相同的方式伸展到 Si 的根节点。
定理5指出,对于 M ≥ N 的情况,链式伸展树相对于最优搜索算法具有 (loglog2(N + 1)) 的竞争力。其证明过程如下:根据引理3,将 σi 伸展到根节点的摊还成本为 (loglog2(N + 1))⋅leveli(σi) ;根据定理4,重新加权的摊还成本同样为 (loglog2(N + 1))⋅leveli(σi) 。利用引理2,我们可以得到:
[
C_{C - SPL
超级会员免费看
订阅专栏 解锁全文
5万+

被折叠的 条评论
为什么被折叠?



