當實現圖搜索算法時,我需要一個允許優先級更改的優先級隊列。到目前爲止,我一直在使用(detail
命名空間,因此沒有記錄),但只是被告知它沒有定義優先級增加(我現在看到的也是在concept documentation中提到的)。允許密鑰增加的可變優先級隊列
所以,我需要找到一個允許增加和減少的結構。我已經嘗試使用vector
和push_heap
/pop_heap
/make_heap
,但更新速度太慢。有什麼選擇?我看到助推在待處理(同樣沒有記錄的)目錄中有兩個類,mutable_queue
和relaxed_heap
,但我只能在五年前的maillist線索中找到它們。他們之間有什麼區別,他們是否允許增加和減少?有沒有任何實施方案未被接受?
感謝您的意見。然而,我並不太熱衷於自己實現它 - 我強烈懷疑我會創建一個比boost開發者更有效的結構,並且它將用於我的程序的主要部分,因此性能相當重要。你知道任何現有的,經過實地驗證的建議嗎? – carlpett