我正在使用Boost 1.53.0中的boost::fibonacci_heap類來維護可更新的優先級隊列。 當我想更新一個元素時,我需要將堆中的元素與我想用它替換的新元素進行比較。我只想用「更小」的版本替換堆中的元素,所以我想在更新之前對它們進行比較。 當我插入元素時,我存儲它們的句柄(boost::fibonacci_heap::handle_type)。我在documentation for
中的僞來自Introduction to Algorithms狀態: for each node w in the root list of H
link trees of the same degree
但如何高效地實現每個根節點一部分?在整合過程中,原始根與同一度的其他根相關聯,這使得僅通過根節點的循環列表就很困難。我怎樣才能決定我是否檢查過每個根節點?