|
mcb LEDA Extension Package
0.8
|
An edge numbering class. More...
#include <edge_num.h>
Public Member Functions | |
| edge_num () | |
| edge_num (const leda::graph &G) | |
| edge_num (const edge_num &) | |
| ~edge_num (void) | |
| edge_num & | operator= (const edge_num &) |
| int | operator() (leda::edge e) const |
| leda::edge | operator() (int i) const |
| bool | tree (leda::edge e) const |
| int | dim_cycle_space () const |
| int | num_weak_connected_comp () const |
An edge numbering class.
This class assigns a unique numbering to the edges of a graph. The
graph edges are numbered from
to
. The numbering is based on an arbitrary spanning tree
. Edges not in
are numbered from
to
where
are the number of (weakly) connected components of
. Edges in
are numbered from
to
.
An edge numbering is implemented as two arrays, and therefore requires
space. All operations take constant time except construction which takes linear time.
This is a static data structure. Changes in the graph after initializing an edge numbering invalidate the data structure.
| mcb::edge_num::edge_num | ( | ) |
Construct an edge numbering for the empty graph.
|
explicit |
Construct an edge numbering for a graph.
| G | The graph to construct for. |
| mcb::edge_num::edge_num | ( | const edge_num & | ) |
Copy constructor
| mcb::edge_num::~edge_num | ( | void | ) |
Destructor
|
inline |
Get the dimension of the cycle space of
. More precisely
, where
is the number of (weakly) connected components of the graph.
Referenced by mcb::cycle_matrix(), mcb::determinant(), and mcb::DMCB().
|
inline |
Returns the number of (weakly) connected components of the graph.
|
inline |
Access the number of an edge.
| e | The edge to access. |
|
inline |
Access the edge with a particular number.
| i | An integer from to . |
|
inline |
Check if an edge belongs to the spanning forest used to construct the numbering.
| e | An edge. |
1.8.11