Changeset 2042:bdc953f2a449 in lemon-0.x for lemon/graph_adaptor.h
- Timestamp:
- 04/07/06 11:54:35 (18 years ago)
- Branch:
- default
- Phase:
- public
- Convert:
- svn:c9d7d8f5-90d6-0310-b91f-818b3a526b0e/lemon/trunk@2681
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
lemon/graph_adaptor.h
r2037 r2042 46 46 ///Base type for the Graph Adaptors 47 47 /// 48 ///\warning Graph adaptors are in even49 ///more experimental state than the other50 ///parts of the lib. Use them at you own risk.51 ///52 48 ///This is the base type for most of LEMON graph adaptors. 53 49 ///This class implements a trivial graph adaptor i.e. it only wraps the … … 252 248 ///\brief A graph adaptor which reverses the orientation of the edges. 253 249 ///\ingroup graph_adaptors 254 ///255 ///\warning Graph adaptors are in even more experimental256 ///state than the other257 ///parts of the lib. Use them at you own risk.258 250 /// 259 251 /// If \c g is defined as … … 648 640 /// \brief A graph adaptor for hiding nodes and edges from a graph. 649 641 /// \ingroup graph_adaptors 650 ///651 /// \warning Graph adaptors are in even more experimental state than the652 /// other parts of the lib. Use them at you own risk.653 642 /// 654 643 /// SubGraphAdaptor shows the graph with filtered node-set and … … 771 760 ///\ingroup graph_adaptors 772 761 /// 773 ///\warning Graph adaptors are in even more experimental state774 ///than the other775 ///parts of the lib. Use them at you own risk.776 ///777 762 ///An adaptor for hiding nodes from a graph. 778 763 ///This adaptor specializes SubGraphAdaptor in the way that only … … 827 812 828 813 ///\brief An adaptor for hiding edges from a graph. 829 ///830 ///\warning Graph adaptors are in even more experimental state831 ///than the other parts of the lib. Use them at you own risk.832 814 /// 833 815 ///An adaptor for hiding edges from a graph. … … 1480 1462 ///\ingroup graph_adaptors 1481 1463 /// 1482 ///An adaptor for composing the residual graph for 1483 ///directed flow and circulation problems. 1484 // ///Let \f$ G=(V, A) \f$ be a directed graph and let \f$ F \f$ be a 1485 // ///number type. Let moreover 1486 // ///\f$ f,c:A\to F \f$, be functions on the edge-set. 1487 // ///In the appications of ResGraphAdaptor, \f$ f \f$ usually stands for a 1488 // ///flow and \f$ c \f$ for a capacity function. 1489 // ///Suppose that a graph instange \c g of type 1490 // ///\c ListGraph implements \f$ G \f$. 1491 // ///\code 1492 // /// ListGraph g; 1493 // ///\endcode 1494 // ///Then RevGraphAdaptor implements the graph structure with node-set 1495 // ///\f$ V \f$ and edge-set \f$ A_{forward}\cup A_{backward} \f$, where 1496 // ///\f$ A_{forward}=\{uv : uv\in A, f(uv)<c(uv)\} \f$ and 1497 // ///\f$ A_{backward}=\{vu : uv\in A, f(uv)>0\} \f$, 1498 // ///i.e. the so called residual graph. 1499 // ///When we take the union \f$ A_{forward}\cup A_{backward} \f$, 1500 // ///multilicities are counted, i.e. if an edge is in both 1501 // ///\f$ A_{forward} \f$ and \f$ A_{backward} \f$, then in the adaptor it 1502 // ///appears twice. The following code shows how such an instance can be 1503 // ///constructed. 1504 // ///\code 1505 // /// typedef ListGraph Graph; 1506 // /// Graph::EdgeMap<int> f(g); 1507 // /// Graph::EdgeMap<int> c(g); 1508 // /// ResGraphAdaptor<Graph, int, Graph::EdgeMap<int>, Graph::EdgeMap<int> > ga(g); 1509 // ///\endcode 1510 // ///\author Marton Makai 1511 // /// 1464 ///An adaptor for composing the residual graph for directed flow and 1465 ///circulation problems. Let \f$ G=(V, A) \f$ be a directed graph 1466 ///and let \f$ F \f$ be a number type. Let moreover \f$ f,c:A\to F \f$, 1467 ///be functions on the edge-set. 1468 /// 1469 ///In the appications of ResGraphAdaptor, \f$ f \f$ usually stands 1470 ///for a flow and \f$ c \f$ for a capacity function. Suppose that a 1471 ///graph instange \c g of type \c ListGraph implements \f$ G \f$. 1472 /// 1473 ///\code 1474 /// ListGraph g; 1475 ///\endcode 1476 /// 1477 ///Then RevGraphAdaptor implements the graph structure with node-set 1478 /// \f$ V \f$ and edge-set \f$ A_{forward}\cup A_{backward} \f$, 1479 ///where \f$ A_{forward}=\{uv : uv\in A, f(uv)<c(uv)\} \f$ and 1480 /// \f$ A_{backward}=\{vu : uv\in A, f(uv)>0\} \f$, i.e. the so called 1481 ///residual graph. When we take the union 1482 /// \f$ A_{forward}\cup A_{backward} \f$, multilicities are counted, i.e. 1483 ///if an edge is in both \f$ A_{forward} \f$ and \f$ A_{backward} \f$, 1484 ///then in the adaptor it appears twice. The following code shows how 1485 ///such an instance can be constructed. 1486 /// 1487 ///\code 1488 /// typedef ListGraph Graph; 1489 /// Graph::EdgeMap<int> f(g); 1490 /// Graph::EdgeMap<int> c(g); 1491 /// ResGraphAdaptor<Graph, int, Graph::EdgeMap<int>, Graph::EdgeMap<int> > ga(g); 1492 ///\endcode 1493 ///\author Marton Makai 1494 /// 1512 1495 template<typename Graph, typename Number, 1513 1496 typename CapacityMap, typename FlowMap, … … 1686 1669 ///\ingroup graph_adaptors 1687 1670 /// 1688 ///\warning Graph adaptors are in even more1689 ///experimental state than the other1690 ///parts of the lib. Use them at you own risk.1691 ///1692 1671 ///This graph adaptor is used for on-the-fly 1693 1672 ///Dinits blocking flow computations.
Note: See TracChangeset
for help on using the changeset viewer.