Subject: Re: [boost] [review] Heaps: mutability
From: Tim Blechmann (tim_at_[hidden])
Date: 2011-06-03 12:33:20
> I'm trying to figure out how I can use a mutable queue to write
> something like Dijkstra's SP. Here's a skeleton with the relevant
> Queue<Vertex*, Comp> q;
> Map<Vertex*, Queue::handle_type> h;
> h[start] = q.push(start);
> v->distance += x;
> Comp is an indirect comparison of vertex distances (u->distance <
> Does the mutable heap support this application (i.e., where I'm not
> directly updating the value type)? It's not clear from the examples
> supplied with the program. I suspect that it is, but it's not clear.
b.h supports two ways of updating nodes:
1: update(handle_type, value_type);
the second version assumes that you change the priority manually, while the
`update' call just fixes the heap.
this is described in the `mutability' section, but i should probably improve the
documentation. please note, that you *have* to call update before modifying any
other node ...