39namespace steiner_tree {
65 queue.pushBack(start);
76 while (!
queue.empty()) {
80 const node w = adj->twinNode();
94#ifdef OGDF_STEINER_TREE_GOEMANS_BLOWUP_COMPONENTS_LOGGING
95 std::cout <<
" * component with terminals " <<
terms <<
" starting with edge " <<
rootEdge
96 <<
" having cost " <<
cost <<
" and capacity "
109#ifdef OGDF_STEINER_TREE_GOEMANS_BLOWUP_COMPONENTS_LOGGING
110 std::cout <<
"Finding components in blowup graph:" << std::endl;
Definition of ogdf::steiner_tree::goemans::BlowupGraph class template.
Class for adjacency list elements.
An array that keeps track of the number of inserted elements; also usable as an efficient stack.
void push(E e)
Puts a new element in the buffer.
Class for the representation of edges.
node target() const
Returns the target node of the edge.
node source() const
Returns the source node of the edge.
Doubly linked lists (maintaining the length of the list).
Dynamic arrays indexed with nodes.
Class for the representation of nodes.
internal::GraphObjectContainer< AdjElement > adjEntries
The container containing all entries in the adjacency list of this node.
Obtain and provides information about components in a given blowup graph.
int id(node v) const
Return the component id a given node is contained in.
const T & cost(int id) const
Return total cost of a given component.
void initializeComponent(edge rootEdge, const BlowupGraph< T > &blowupGraph)
Initialize all information about the component starting with rootEdge in the blowup graph.
edge rootEdge(int id) const
Return the edge coming from the root of a given component.
NodeArray< int > componentId
void setRootEdge(int id, edge e)
Set the edge coming from the root for a given component.
ArrayBuffer< T > componentCost
BlowupComponents(const BlowupGraph< T > &blowupGraph)
Find all components in the blowup graph and initialize information them.
const ArrayBuffer< node > & terminals(int id) const
Return list of terminals for a given component.
ArrayBuffer< ArrayBuffer< node > > componentTerminals
ArrayBuffer< edge > componentRootEdge
int size() const
Return number of components.
A special-purpose blowup graph for gammoid computation: directed, with special source and target,...
#define OGDF_ASSERT(expr)
Assert condition expr. See doc/build.md for more information.
static MultilevelBuilder * getDoubleFactoredZeroAdjustedMerger()
The namespace for all OGDF objects.