2015-09-20 33 views

回答

0

在最壞的情況下,一個將結束遍歷整個二進制堆來搜索元素,並因此的時間複雜度是O(N),其是線性的元件的數目在二進制堆

二進制堆並不意味着用作搜索數據結構。它們被用於實現優先級隊列,他們處理那些經常使用的所有操作得很好不是線性的時間

插入:O(log n)的

刪除:O(log n)的

increase_key:O(log n)的

decrease_key:O(log n)的

extract_max或extract_min:O(log n)的

如果你想搜索操作要始終O(log n)的像AVL或紅黑樹使用平衡搜索樹。

+0

@Dante ...希望它會走多久。謝謝。但是我的問題如果一個問題是以一個大的「O」符號給TC,那麼答案會是什麼? 我同意我不應該遍歷堆,但在一些論壇中,我得到的答案是O(n),即遍歷時間。我強烈的意思是它不應該被遍歷。 – Bishnu