二叉樹大家一定聽說很多了,但是真正應(yīng)用場景大家有沒有考察過呢,從今天開始,用最簡單的語言開始深入淺出二叉樹。
用的最多的應(yīng)該是平衡二叉樹,有種特殊的平衡二叉樹紅黑樹,查找、插入、刪除的時間復(fù)雜度最壞為O(log n)Java集合中的TreeSet和TreeMap,C++ STL中的set、map,以及Linux虛擬內(nèi)存的管理,都是通過紅黑樹去實(shí)現(xiàn)的。還有哈夫曼樹編碼方面的應(yīng)用。B-Tree,B+-Tree在文件系統(tǒng)中的應(yīng)用。
Dijkstra算法是最短路徑算法中為人熟知的一種,是單起點(diǎn)全路徑算法。該算法被稱為是“貪心算法”的成功典范。該算法如果不優(yōu)化速度非常慢,如果用二叉樹算法優(yōu)化效率快很多,類似的,很多人工智能算法都是用二叉樹優(yōu)化的
后面還會繼續(xù)介紹項(xiàng)目