红黑树是近似的平衡二叉树AVL,损失了一定的平衡性,来降低维护平衡所需的代价。
红黑树的应用:
- C++的STL库中的map和set
- java中的treeMap
- Linux的进程调度
B树、B+树是多路查找树,分枝多层数少,减少查找时的磁盘IO。
- 数据库里基本用的都是B+树
Trie树又叫检索树、字典树,主要是对字符串内容建索引,对前缀查找速度要求很高的场景。耗内存,查找速度快,但插入、删除成本高。
- 自然语言处理类的应用中用的多,例如分词、搜索提示。适合字符串量不是特别大,需要频繁查找,像字典一样。