1.1 --- a/src/include/dijkstra.h Mon Apr 05 13:49:20 2004 +0000
1.2 +++ b/src/include/dijkstra.h Mon Apr 05 13:55:55 2004 +0000
1.3 @@ -69,9 +69,6 @@
1.4 template <typename Graph,
1.5 typename LengthMap=typename Graph::EdgeMap<int>,
1.6 template <class,class,class> class Heap = BinHeap >
1.7 -// typename Heap=BinHeap <typename Graph::Node,
1.8 -// typename LengthMap::ValueType,
1.9 -// typename Graph::NodeMap<int> > >
1.10 #endif
1.11 class Dijkstra{
1.12 public:
1.13 @@ -89,19 +86,11 @@
1.14 const Graph& G;
1.15 const LengthMap& length;
1.16 PredMap predecessor;
1.17 - //In place of reach:
1.18 PredNodeMap pred_node;
1.19 DistMap distance;
1.20 - //I don't like this:
1.21 - // //FIXME:
1.22 - // typename Graph::NodeMap<bool> reach;
1.23 - // //typename Graph::NodeMap<int> reach;
1.24
1.25 public :
1.26
1.27 - /*
1.28 - The distance of the nodes is 0.
1.29 - */
1.30 Dijkstra(Graph& _G, LengthMap& _length) :
1.31 G(_G), length(_length), predecessor(_G), pred_node(_G), distance(_G) { }
1.32
1.33 @@ -147,8 +136,6 @@
1.34 ///\pre \ref run() must be called before using this function.
1.35 const PredNodeMap &predNodeMap() const { return pred_node;}
1.36
1.37 - // bool reached(Node v) { return reach[v]; }
1.38 -
1.39 ///Checks if a node is reachable from the source.
1.40
1.41 ///Returns \c true if \c v is reachable from the source.
1.42 @@ -186,17 +173,11 @@
1.43 // reach.set(u,false);
1.44 }
1.45
1.46 - //We don't need it at all.
1.47 - // //FIXME:
1.48 - // typename Graph::NodeMap<bool> scanned(G,false);
1.49 - // //typename Graph::NodeMap<int> scanned(G,false);
1.50 typename Graph::NodeMap<int> heap_map(G,-1);
1.51
1.52 - //Heap heap(heap_map);
1.53 Heap<Node,ValueType,typename Graph::NodeMap<int> > heap(heap_map);
1.54
1.55 heap.push(s,0);
1.56 - // reach.set(s, true);
1.57
1.58 while ( !heap.empty() ) {
1.59
1.60 @@ -211,7 +192,6 @@
1.61
1.62 switch(heap.state(w)) {
1.63 case heap.PRE_HEAP:
1.64 - // reach.set(w,true);
1.65 heap.push(w,oldvalue+length[e]);
1.66 predecessor.set(w,e);
1.67 pred_node.set(w,v);