树、二叉树、二叉查找树、AVL树、红黑树、B-树、B+树、trie树综述

AVL树,红黑树,B树,B+树,Trie树都分别应用在哪些现实场景中?

参考知乎知友的回答AVL树,红黑树,B树,B+树,Trie树现实应用场景

  • AVL树:windows对进程地址空间的管理用到了AVL树。
  • 红黑树:维护AVL树这种高度平衡所付出的代价比从中获得的效率收益大,故而实际的应用不多,更多的地方是用追求局部而不是非常严格整体平衡的红黑树。红黑树的应用比较广泛,如:
    1) 著名的linux进程调度Completely Fair Scheduler,用红黑树管理进程控制块
    2)epoll在内核中的实现,用红黑树管理事件块
    3)nginx中,用红黑树管理timer等
    4)Java的TreeMap、TreeSet实现
  • B和B+树:主要用在文件系统以及数据库中做索引等,比如Mysql:B-Tree Index in MySql
  • trie 树:一个典型应用是前缀匹配,比如在我们输入时,搜索引擎会给予提示。

树的基本结构有什么区别呢?

  • 通过树、二叉树、二叉查找树、AVL树、红黑树的定义,就可以对以上几种树的结构有基本的了解。如果想对红黑树有深入了解,可以参考:《红黑树概念、红黑树的插入及旋转操作详细解读》、《红黑树的移除节点操作》。
  • B-树和B+树最经典应用就是MySQL的索引,下面通过MySQL索引背后的数据结构及算法原理,对B+树有更深入的了解,同时如果想对MySQL的索引优化有所了解,也可以仔细读上面的文章。
  • trie树

你可能感兴趣的:(树、二叉树、二叉查找树、AVL树、红黑树、B-树、B+树、trie树综述)