Home | Documentation | Download | Platforms | Projects | Mailing Lists | Version History
Public Member Functions | |
st_number () | |
Default constructor. Creates st-number object. Please note that there are no reasonable default settings for the parameters, i.e. the edge st connecting the lowest with highest numbers node and which of its endpoints should get number 1 (= node s) has to be specified always. | |
virtual | ~st_number () |
Destructor. | |
void | st_edge (edge e) |
Sets edge st for the next run. | |
edge | st_edge () const |
Get edge st. | |
void | s_node (node n) |
Sets node s for next run. | |
node | s_node () const |
Get node s. | |
int & | operator[] (const node &n) |
Returns st-number of node n as determined in the last run. | |
iterator | begin () |
Iteration through the nodes of graph st-numbered in last run in st-number order, i.e. from 1 to highest st-number. | |
iterator | end () |
Iteration through nodes of graph in st-number order. | |
reverse_iterator | rbegin () |
Iteration through the nodes of graph st-numbered in last run in reverse st-number order, i.e. from highest st-number down to 1. | |
reverse_iterator | rend () |
End of iteration through nodes of graph in reverse st-number order. | |
int | check (graph &G) |
Checks whether st-number algorithm can be applied to G . | |
int | run (graph &G) |
Runs st-number algorithm on graph G . | |
void | reset () |
Resets algorithm in order to be applied to the next graph. |
Encapsulates the st-number algorithm together with all the data produced by it.
Assigns an integer st[n]
to each node n
of a undirected, biconnected graph, such that each node is connected with at least one node having a smaller and with at least one having a larger number than itself. The only exception to this rule are the endpoints of edge st connecting nodes s (st-number 1) and t
(highest st-number).
The following options are supported:
void st_number::s_node | ( | node | n | ) | [inline] |
int& st_number::operator[] | ( | const node & | n | ) | [inline] |
iterator st_number::begin | ( | ) | [inline] |
Iteration through the nodes of graph st-numbered in last run in st-number order, i.e. from 1 to highest st-number.
iterator st_number::end | ( | ) | [inline] |
reverse_iterator st_number::rbegin | ( | ) | [inline] |
Iteration through the nodes of graph st-numbered in last run in reverse st-number order, i.e. from highest st-number down to 1.
reverse_iterator st_number::rend | ( | ) | [inline] |
End of iteration through nodes of graph in reverse st-number order.
int st_number::check | ( | graph & | G | ) | [virtual] |
Checks whether st-number algorithm can be applied to G
.
Besides from the trivial preconditions that edge st and node s lie in G
and s is really an endpoint of st (which isn't checked), G
must be undirected and biconnected.
G | graph |
algorithm::GTL_OK | iff st-number algorithm may be applied |
Implements algorithm.
int st_number::run | ( | graph & | G | ) | [virtual] |
Runs st-number algorithm on graph G
.
It is assumed that check was called previously and returned algorithm::GTL_OK.
G | graph |
G
could be correctly st-numberedImplements algorithm.
void st_number::reset | ( | ) | [inline, virtual] |
Resets algorithm in order to be applied to the next graph.
This will delete most of the information obtained in the last run.
Implements algorithm.
University of Passau - FMI - Theoretical Computer Science