
I was looking through the Boost.Heap documentation, and I came up with a couple questions: 1) Is it possible to iterate through the heap in order of priority with an iterator? 2) What advantages to the increase() and decrease() functions provide? I also have a few suggestions for improving the documentation: In http://tim.klingt.org/boost_heap/heap/concepts.html the note: boost.heap implements priority queues as max-heaps. While many textbooks and papers are formulated for min-heaps. Using max-heaps is consistent with the STL heap functions, though. would be better written as: boost.heap implements priority queues as max-heaps to be consistent with the STL heap functions. This is in contrast with the typical textbook design, which uses min-heaps. http://tim.klingt.org/boost_heap/heap/data_structures.html Can you provide runtime complexity constraints for each of these data structures? Particularly if the mutable version has different performance from the standard version of each. spelling: For a low arity, the h[e]ight of the heap is larger improved wording: In analogy to d-ary heaps, boost-heaps also provides an mutable version at the cost of an indirection. would be better as: The b_heap_mutable<http://tim.klingt.org/boost_heap/boost/heap/d_ary_heap_mutable.html> class stores the values inside a std::list in order to achieve mutability. You mentioned: | please note, that you *have* to call update before modifying any other node. This should be made more explicit in the documentation Overall this library looks extremely useful. Good work! Cheers! Andrew Hundt