二叉樹什麼場景下會使用?

自己做程序做了四五年,各種類型的項目都做,從來沒有使用過什麼二叉樹。


有序map和set通常都是基於紅黑樹實現,別人寫好了庫所以你不用重複造輪子,不代表你就用不到了,如果連底層實現的模糊概念都沒有,那涉及到性能調優的時候你知道問題會出在哪嗎


隨便瞎說,不一定對。

用過優先隊列嗎(庫或者自己寫)?一般是用大頂堆實現的吧,一般的大頂堆是二叉樹吧。

二分查找其實就是把輸入數據想像成了一棵二叉樹 ( 而且是一個二叉搜索樹 ) ,在其中尋找某個元素。

再來, 好像很多語言的map、set結構就是用二叉搜索樹實現的。

更多的請參看 What are the applications of binary trees?


二叉樹沒怎麼用過,只是學習時候入門用的數據結構.現在用的基本上都是多於二個叉的樹.比如顯示一個樹結構.在一個樹里找指定的結點.寫遊戲的時候,我把場景放到節點上,這樣出了一個場景,就切到父節點的場景.這個叫做"入口"技術,通過變換節點在樹中的位置,打開同一個門,就可以到不同的地方.

泛泛的二叉樹沒怎麼用,不過排序二叉樹倒是不錯,提高查找速度.


資料庫索引


推薦閱讀:

紅黑樹是如何自二叉搜索樹演變而來的?

TAG:PHP | 演算法 | 二叉樹 |