2014-12-21 72 views
0

考慮下面的算法,通過使用二叉搜索樹排序n個元素的列表,該算法的時間複雜度:什麼是使用AVL樹和二叉樹

initialise t to be an empty binary search tree 
for each element x in the list, 
    add x to t 
while t is not empty, 
    remove and print the smallest element of t 

什麼是最壞情況下的時間複雜度如果樹是 實現使用:

a)一個普通的二叉搜索樹?
b)AVL樹?

我的解決方案:我認爲解決辦法是,對於AVL樹:O(log n)的和BST這將是O(N)

+2

這個問題似乎是題外話題,因爲它是關於一般編程概念,而不是代碼特定的問題。這對於Programmers SE來說更合適。 –

+0

這個問題與我目前正在學習的數據結構有關。 – Aniq

+0

@keyser我做了研究,並從我的研究中得到了答案,但我不確定。 – Aniq

回答

4

對於插入的最壞的情況下/在這些大樹缺失是O(n)對於BST和O(log(n))爲AVL的。

如果列表長度n你做n插入和缺失n,這意味着我們得到O(n^2)與BST的和O(nlog(n))與AVL公司的。

+0

謝謝!我知道了。 – Aniq