2012-06-26 50 views
1

我正在尋找優先級隊列的實現,該優先級隊列使用常量double值作爲密鑰的優先級。我相信,如果執行得當,這可以比使用靈活比較器的默認PriorityQueue更快。 reduceKey操作(=減少已在隊列中的元素的優先級)是不必要的。Java中的快速雙值優先隊列實現

我發現了一個implementation from the NLP group in Stanford,但他們聲稱它是緩慢作爲原始實施的兩倍。是否有PQ實現可以勝過我們用例的默認PriorityQueue

+0

爲什麼不掀起你自己的?這並不是那麼困難。 –

+1

@LouisWasserman:代碼重用?依靠別人的結果,特別是w.r.t.運行時測試和微調?保存幾個小時的實施和測試時間?只是出現在我腦海中的一些原因...... – krlmlr

回答

0

我們最終實現我們自己的堆結構。經過優化的remove()操作的d-ary堆表現得相當不錯,特別是在加載共享內存的機器上。