概述
- 伸展树
- B树
- 红黑树
小试牛刀
1 | 伸展树利用了实际问题中数据访问的何种特点 |
伸展树:逐层伸展
局部性:

逐层伸展

最坏情况:


伸展树:双层伸展

子孙异侧:
子孙同侧:

折叠效果:



分摊性能:

最后一步:

伸展树:算法实现



查找算法:

1 | template <typename T> BinNodePosi<T>& Splay<T>::search( const T& e ) { //在伸展树中查找e |
插入算法:

1 | template <typename T> BinNodePosi<T> Splay<T>::insert( const T& e ) { //将关键码e插入伸展树中 |
删除算法:

综合评价:
无需记录节点高度或者平衡因子,编程实现简易
分摊复杂度O(logn) 与AVL相当
局部性强

B树:大数据



B树:结构

多路平衡

减少了I/O次数

阶次

BTree

习题:


B树:查找

最大高度:

最小高度:

习题
zhangzezhong
学习自:清华大学邓俊辉老师《数据结构 下》课程第十章 高级搜索树