3
對於一個平衡搜索樹,對於所有情況都是O(log(N))。對於不平衡搜索樹,最壞的情況是O(N),例如,插入1,2,3,4 ...,並且最佳情況下的複雜度是平衡時的情況,例如插入6,4,8,3,5,7 。我們如何定義不平衡搜索樹的平均個案複雜度?簡單不平衡搜索樹的平均漸近深度是多少?
對於一個平衡搜索樹,對於所有情況都是O(log(N))。對於不平衡搜索樹,最壞的情況是O(N),例如,插入1,2,3,4 ...,並且最佳情況下的複雜度是平衡時的情況,例如插入6,4,8,3,5,7 。我們如何定義不平衡搜索樹的平均個案複雜度?簡單不平衡搜索樹的平均漸近深度是多少?
二叉樹的平均高度是Theta(sqrt(n))。已在以下論文中顯示(或引用,不太確定):http://www.dtc.umn.edu/~odlyzko/doc/arch/extreme.heights.pdf。
但是也許你對隨機節點的平均深度更感興趣,這是Theta(log n),可以在這裏看到:http://www.toves.org/books/data/ch05-trees/index.html(第5.2.4節)。
由於與隨機遊走的相似性,我會期待'O(n^.5)',但我沒有發佈答案,因爲我無法證明這一點。 順便說一句,如果這是家庭作業,你能標記它嗎? – pavpanchekha
這不是功課。這是出於好奇心,因爲C++,Java中的標準庫中的大多數搜索樹都實現爲不平衡。 – user236215
這太難以做作業了。 – 2010-02-25 05:26:38