原创转载请注明出处:http://agilestyle.iteye.com/blog/2357562
AVL树
AVL是最先发明的自平衡二叉查找树,在AVL树中任何节点的两个子树的高度最大差别为1,也被称为高度平衡树二叉树,所以通常的结果是,维护这种高度平衡所付出的代价比从中获得的效率收益还大,故而实际的应用不多,更多的地方是用追求局部而不是非常严格整体平衡的红黑树。当然,如果场景中对插入删除不频繁,只是对查找特别有要求,AVL还是优于红黑的。
红黑树
红黑树也是一种自平衡二叉查找树,它的统计性能要好于平衡二叉树
- C++的STL中
- Linux进程调度Completely Fair Scheduler,用红黑树管理进程控制块
- epoll在内核中的实现,用红黑树管理事件块
- nginx中,用红黑树管理timer等
- Java的TreeMap实现
B树/B+树
B和B+通常用于数据库和操作系统的文件系统中做索引等
- Mysql B+树索引
Trie树
Trie树,即字典树,又称单词查找树
- 串的快速检索
- “串”排序
- 最长公共前缀