二叉树大家一定听说很多了,但是真正应用场景大家有没有考察过呢,从今天开始,用最简单的语言开始深入浅出二叉树。
用的最多的应该是平衡二叉树,有种特殊的平衡二叉树红黑树,查找、插入、删除的时间复杂度最坏为O(log n)Java集合中的TreeSet和TreeMap,C++ STL中的set、map,以及Linux虚拟内存的管理,都是通过红黑树去实现的。还有哈夫曼树编码方面的应用。B-Tree,B+-Tree在文件系统中的应用。
Dijkstra算法是最短路径算法中为人熟知的一种,是单起点全路径算法。该算法被称为是“贪心算法”的成功典范。该算法如果不优化速度非常慢,如果用二叉树算法优化效率快很多,类似的,很多人工智能算法都是用二叉树优化的
后面还会继续介绍项目