lemon/gomory_hu.h
changeset 628 aa1804409f29
parent 593 d6b40ebb2617
child 643 293551ad254f
     1.1 --- a/lemon/gomory_hu.h	Tue Apr 14 10:34:12 2009 +0200
     1.2 +++ b/lemon/gomory_hu.h	Tue Apr 14 10:35:38 2009 +0200
     1.3 @@ -143,11 +143,11 @@
     1.4  
     1.5        _root = NodeIt(_graph);
     1.6        for (NodeIt n(_graph); n != INVALID; ++n) {
     1.7 -	_pred->set(n, _root);
     1.8 -	_order->set(n, -1);
     1.9 +        (*_pred)[n] = _root;
    1.10 +        (*_order)[n] = -1;
    1.11        }
    1.12 -      _pred->set(_root, INVALID);
    1.13 -      _weight->set(_root, std::numeric_limits<Value>::max()); 
    1.14 +      (*_pred)[_root] = INVALID;
    1.15 +      (*_weight)[_root] = std::numeric_limits<Value>::max(); 
    1.16      }
    1.17  
    1.18  
    1.19 @@ -164,22 +164,22 @@
    1.20  
    1.21  	fa.runMinCut();
    1.22  
    1.23 -	_weight->set(n, fa.flowValue());
    1.24 +	(*_weight)[n] = fa.flowValue();
    1.25  
    1.26  	for (NodeIt nn(_graph); nn != INVALID; ++nn) {
    1.27  	  if (nn != n && fa.minCut(nn) && (*_pred)[nn] == pn) {
    1.28 -	    _pred->set(nn, n);
    1.29 +	    (*_pred)[nn] = n;
    1.30  	  }
    1.31  	}
    1.32  	if ((*_pred)[pn] != INVALID && fa.minCut((*_pred)[pn])) {
    1.33 -	  _pred->set(n, (*_pred)[pn]);
    1.34 -	  _pred->set(pn, n);
    1.35 -	  _weight->set(n, (*_weight)[pn]);
    1.36 -	  _weight->set(pn, fa.flowValue());	
    1.37 +	  (*_pred)[n] = (*_pred)[pn];
    1.38 +	  (*_pred)[pn] = n;
    1.39 +	  (*_weight)[n] = (*_weight)[pn];
    1.40 +	  (*_weight)[pn] = fa.flowValue();
    1.41  	}
    1.42        }
    1.43  
    1.44 -      _order->set(_root, 0);
    1.45 +      (*_order)[_root] = 0;
    1.46        int index = 1;
    1.47  
    1.48        for (NodeIt n(_graph); n != INVALID; ++n) {
    1.49 @@ -190,7 +190,7 @@
    1.50  	  nn = (*_pred)[nn];
    1.51  	}
    1.52  	while (!st.empty()) {
    1.53 -	  _order->set(st.back(), index++);
    1.54 +	  (*_order)[st.back()] = index++;
    1.55  	  st.pop_back();
    1.56  	}
    1.57        }
    1.58 @@ -309,9 +309,9 @@
    1.59        }
    1.60  
    1.61        typename Graph::template NodeMap<bool> reached(_graph, false);
    1.62 -      reached.set(_root, true);
    1.63 +      reached[_root] = true;
    1.64        cutMap.set(_root, !s_root);
    1.65 -      reached.set(rn, true);
    1.66 +      reached[rn] = true;
    1.67        cutMap.set(rn, s_root);
    1.68  
    1.69        std::vector<Node> st;