本章内容
讨论7种强调实用的数据结构
首先考察第4章讨论过的 AVL 树的变种, 包括优化的伸展树、红黑树、(第10章讨论过的)跳跃表的确定性的形式、AA 树以及 treap 树.
然后考察一种可以用于多维数据的数据结构. 在这种情况下, 每一项均可有多个键. $k$-d 树对任何键都能进行相关的搜索.
最后, 考察配对堆(pairing heap), 它似乎是斐波那契堆的最实用变体.
自顶向下伸展树
自顶向下伸展树
第4章讨论了基本的伸展树操作. 当顶 $X$ 作为树叶被插入时, 称为{\bf 伸展(splay)}的一系列的树旋转使得 $X$ 成为树的新根.
伸展操作也在查找期间执行, 而且如果一项也没有找到, 那么就要对访问路径上的最后的结点施行一次伸展.
第11章指出一次伸展树操作的摊还开销为 $O(\log N)$.