AVL树,红黑树,B树,B+树,Trie树都分别应用在哪些现实场景中?
AVL树
AVL树: 最早的平衡二叉树之一。应用相对其他数据结构比较少。windows对进程地址空间的管理用到了AVL树。
LL 旋转:
红黑树
红黑树: 平衡二叉树,广泛用在C++的STL中。如map和set都是用红黑树实现的。
B/B+树
B/B+树: 用在磁盘文件组织 数据索引和数据库索引。
Trie树
Trie树(字典树): 用在统计和排序大量字符串,如自动机。
Trie又被称为前缀树、字典树,所以当然是一棵树。
上面这棵Trie树包含的字符串集合是{in, inn, int, tea, ten, to}。每个节点的编号是我们为了描述方便加上去的。树中的每一条边上都标识有一个字符。这些字符可以是任意一个字符集中的字符。比如对于都是小写字母的字符串,字符集就是’a’-‘z’;对于都是数字的字符串,字符集就是’0’-‘9’;对于二进制字符串,字符集就是0和1。
比如上图中3号节点对应的路径0123上的字符串是inn,8号节点对应的路径0568上的字符串是ten。终结点与集合中的字符串是一一对应的。
参考链接:https://blog.csdn.net/weixin_39778570/article/details/81990417