我使用的是一個優先級隊列,它最初基於啓發式元素的優先級。當元素出隊時,啓發式被更新,當前隊列中的元素可能會增加鍵值。分鐘堆比O(logn)增加鍵好?
我知道有堆(特別是斐波那契堆)已經攤銷O(1)減少關鍵操作,但是有沒有堆結構在增加關鍵操作時有相似的邊界?
對於我的應用程序來說,這遠不是性能問題(一個二進制堆能夠正常工作),它實際上只是關於學術好奇心。
編輯:爲了澄清,我正在尋找一個數據結構,它的運行速度比O(logn)時間快,而不是減少鍵。由於啓發式估計優先級,我的應用程序永遠不會減少密鑰。
配對堆聽起來很有趣,但它們是否改進O(logn)以增加關鍵操作? – 2009-06-04 20:35:00