概述
- 伸展树
- 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
学习自:清华大学邓俊辉老师《数据结构 下》课程第十章 高级搜索树