biconnectivity Class Reference

[Index] [Hierarchy] [Headers]


Biconnectivity-test and low-numbers. More...

#include <GTL/biconnectivity.h>

Inherits: dfs

Public Members


Detailed Description

Obviously there is a close relationship between DFS and the testing of biconnectivity. Thus this test takes advantage of the possibility to add pieces of code to the DFS-class in order to calculate the low-numbers.


biconnectivity() [public]

Creates biconnectivity algorithm object.

See Also:
dfs::dfs

~biconnectivity() [public virtual]

Destroys biconnectivity algorithm object.

See Also:
dfs::~dfs

int check(graph& G) [public virtual]

Necessary preconditions:

Parameters:
G graph.
Returns:
algorithm::GTL_OK if binconnectivity-test can be applied to G.
See Also:
dfs::scan_whole_graph, dfs::store_preds

void reset() [public virtual]

Reset

int low_number(const node& n) const [public]

Low-number.

Parameters:
n node.
Returns:
Low-number of n.

bool is_biconnected() const [public]

Biconnectivity-test.

Returns:
true iff graph is biconnected.

bool store_components() const [public]

Returns whether the storing of components is enabled.

Returns:
true iff storing of components is enabled.
See Also:
biconnectivity::components_begin, biconnectivity::components_end

void store_components(bool set) [public]

Enables or disables the storing of biconnected components. If this feature is enabled, the whole graph will be scanned in order to get all the biconnected components even if the graph isn't connected. By default this feature is disabled.

Parameters:
set if true each biconnected component will be stored.
See Also:
biconnectivity::components_begin, biconnectivity::components_end

void make_biconnected(bool set) [public]

If enabled edges will be added to the graph in order to make it biconnected, if cutpoints are discovered. The list of added edges can be accessed via additional_begin and additional_end.

Parameters:
set if true additional edges will we inserted to make the graph biconnected.
See Also:
biconnectivity::additional_begin, biconnectivity::additional_end

bool make_biconnected() const [public]

Returns whether addition of edges neccessary to make graph biconnected is enabled.

Returns:
true iff addition edges is enabled.
See Also:
biconnectivity::additional_begin, biconnectivity::additional_end

list<edge>::iterator additional_begin() [public]

Begin of edges added to make graph biconnected.

Returns:
begin of additional edges
See Also:
biconnectivity::make_biconnected, biconnectivity::make_biconnected

list<edge>::iterator additional_end() [public]

End of edges added to make graph biconnected

Returns:
end of additional edges
See Also:
biconnectivity::make_biconnected, biconnectivity::make_biconnected

cutpoint_iterator cut_points_begin() [public]

Start iteration over all cutpoints found. A cutpoints is a node whose removal will disconnect the graph, thus a graph with no cutpoints is biconnected and vice versa.

Returns:
iterator to first cutpoint.
See Also:
biconnectivity::cut_points_end

cutpoint_iterator cut_points_end() [public]

End of iteration over all cutpoints.

Returns:
one-past-the-end iterator.
See Also:
biconnectivity::cut_points_begin

component_iterator components_begin() [public]

Start iteration over all biconnected components (if enabled during last call to run). Components are represented as a pair consisting of a list of nodes and a list of edges, i.e. if it is of type component_iterator then *it is of type pair<list<node>,list<edge> >.

Returns:
iterator to first component
See Also:
biconnectivity::store_components, graph::induced_subgraph

component_iterator components_end() [public]

End of iteration over all biconnected components.

Returns:
end of iteration over biconnected components
See Also:
biconnectivity::store_components

int number_of_components() const [public]

Number von biconnected components detected during the last run.

Returns:
number of biconnected components.

Kdoc