Aleph-w 3.0
A C++ Library for Data Structures and Algorithms
Loading...
Searching...
No Matches
stoer_wagner.cc File Reference
#include <gtest/gtest.h>
#include <Stoer_Wagner.H>
#include <tpl_graph.H>
#include <tpl_sgraph.H>
Include dependency graph for stoer_wagner.cc:

Go to the source code of this file.

Classes

struct  WeightFilter< GT >
 

Typedefs

using IntGraph = List_Graph< Graph_Node< int >, Graph_Arc< int > >
 
using WeightedGraph = List_Graph< Graph_Node< string >, Graph_Arc< int > >
 
using DoubleGraph = List_Graph< Graph_Node< int >, Graph_Arc< double > >
 
using SGraph = List_SGraph< Graph_Snode< int >, Graph_Sarc< int > >
 

Functions

 TEST (StoerWagnerConstruction, DefaultConstruction)
 
 TEST (StoerWagnerConstruction, WithCustomDistance)
 
 TEST (StoerWagnerErrors, ThrowsOnSingleNode)
 
 TEST (StoerWagnerErrors, HandlesDisconnectedGraph)
 
 TEST (StoerWagnerErrors, HandlesTwoNodesNoEdges)
 
 TEST (StoerWagnerMinCut, TwoNodesOneEdge)
 
 TEST (StoerWagnerMinCut, Triangle)
 
 TEST (StoerWagnerMinCut, Square)
 
 TEST (StoerWagnerMinCut, Barbell)
 
 TEST (StoerWagnerMinCut, Path)
 
 TEST (StoerWagnerMinCut, Cycle)
 
 TEST (StoerWagnerMinCut, Star)
 
 TEST (StoerWagnerMinCut, CompleteK3)
 
 TEST (StoerWagnerMinCut, CompleteK4)
 
 TEST (StoerWagnerMinCut, CompleteK5)
 
 TEST (StoerWagnerMinCut, CompleteK6)
 
 TEST (StoerWagnerWeighted, WeakMiddleEdge)
 
 TEST (StoerWagnerWeighted, WeakFirstEdge)
 
 TEST (StoerWagnerWeighted, WeakLastEdge)
 
 TEST (StoerWagnerWeighted, TwoClustersWeakBridge)
 
 TEST (StoerWagnerWeighted, TwoClustersHeavyBridge)
 
 TEST (StoerWagnerWeighted, WeightedTriangle)
 
 TEST (StoerWagnerPartitions, PartitionsCoverAllNodes)
 
 TEST (StoerWagnerPartitions, PartitionsNonEmpty)
 
 TEST (StoerWagnerPartitions, NoOverlap)
 
 TEST (StoerWagnerPartitions, CutEdgesCrossPartition)
 
 TEST (StoerWagnerWeightOnly, BasicUsage)
 
 TEST (StoerWagnerWeightOnly, WeightedGraph)
 
 TEST (StoerWagnerWeightOnly, MatchesFullComputation)
 
 TEST (StoerWagnerWeightOnly, SmallGraph)
 
 TEST (StoerWagnerUnitWeight, IgnoresArcWeights)
 
 TEST (StoerWagnerUnitWeight, CountsEdges)
 
 TEST (StoerWagnerCustomDistance, DoubleWeight)
 
 TEST (StoerWagnerCustomDistance, ConstantWeight)
 
 TEST (StoerWagnerArcFilter, FiltersByWeight)
 
 TEST (StoerWagnerGraphTypes, ListSGraph)
 
 TEST (StoerWagnerGraphTypes, DoubleWeights)
 
 TEST (StoerWagnerEdgeCases, ZeroWeightEdge)
 
 TEST (StoerWagnerEdgeCases, AllSameWeight)
 
 TEST (StoerWagnerEdgeCases, LargeWeights)
 
 TEST (StoerWagnerPerformance, MediumGraph50Nodes)
 
 TEST (StoerWagnerPerformance, DenseGraph20Nodes)
 
 TEST (StoerWagnerDeterminism, SameResultOnMultipleCalls)
 

Typedef Documentation

◆ DoubleGraph

using DoubleGraph = List_Graph<Graph_Node<int>, Graph_Arc<double> >

Definition at line 46 of file stoer_wagner.cc.

◆ IntGraph

using IntGraph = List_Graph<Graph_Node<int>, Graph_Arc<int> >

Definition at line 44 of file stoer_wagner.cc.

◆ SGraph

using SGraph = List_SGraph<Graph_Snode<int>, Graph_Sarc<int> >

Definition at line 47 of file stoer_wagner.cc.

◆ WeightedGraph

using WeightedGraph = List_Graph<Graph_Node<string>, Graph_Arc<int> >

Definition at line 45 of file stoer_wagner.cc.

Function Documentation

◆ TEST() [1/43]

◆ TEST() [2/43]

TEST ( StoerWagnerConstruction  ,
DefaultConstruction   
)

Definition at line 233 of file stoer_wagner.cc.

References Aleph::blossom_maximum_cardinality_matching().

◆ TEST() [3/43]

TEST ( StoerWagnerConstruction  ,
WithCustomDistance   
)

◆ TEST() [4/43]

TEST ( StoerWagnerCustomDistance  ,
ConstantWeight   
)

◆ TEST() [5/43]

TEST ( StoerWagnerCustomDistance  ,
DoubleWeight   
)

◆ TEST() [6/43]

TEST ( StoerWagnerDeterminism  ,
SameResultOnMultipleCalls   
)

Definition at line 986 of file stoer_wagner.cc.

References Aleph::blossom_maximum_cardinality_matching().

◆ TEST() [7/43]

TEST ( StoerWagnerEdgeCases  ,
AllSameWeight   
)

◆ TEST() [8/43]

◆ TEST() [9/43]

◆ TEST() [10/43]

◆ TEST() [11/43]

TEST ( StoerWagnerErrors  ,
HandlesTwoNodesNoEdges   
)

◆ TEST() [12/43]

TEST ( StoerWagnerErrors  ,
ThrowsOnSingleNode   
)

◆ TEST() [13/43]

◆ TEST() [14/43]

◆ TEST() [15/43]

TEST ( StoerWagnerMinCut  ,
Barbell   
)

◆ TEST() [16/43]

TEST ( StoerWagnerMinCut  ,
CompleteK3   
)

◆ TEST() [17/43]

TEST ( StoerWagnerMinCut  ,
CompleteK4   
)

◆ TEST() [18/43]

TEST ( StoerWagnerMinCut  ,
CompleteK5   
)

◆ TEST() [19/43]

TEST ( StoerWagnerMinCut  ,
CompleteK6   
)

◆ TEST() [20/43]

TEST ( StoerWagnerMinCut  ,
Cycle   
)

◆ TEST() [21/43]

TEST ( StoerWagnerMinCut  ,
Path   
)

◆ TEST() [22/43]

TEST ( StoerWagnerMinCut  ,
Square   
)

◆ TEST() [23/43]

TEST ( StoerWagnerMinCut  ,
Star   
)

◆ TEST() [24/43]

TEST ( StoerWagnerMinCut  ,
Triangle   
)

◆ TEST() [25/43]

◆ TEST() [26/43]

TEST ( StoerWagnerPartitions  ,
CutEdgesCrossPartition   
)

◆ TEST() [27/43]

◆ TEST() [28/43]

TEST ( StoerWagnerPartitions  ,
PartitionsCoverAllNodes   
)

◆ TEST() [29/43]

TEST ( StoerWagnerPartitions  ,
PartitionsNonEmpty   
)

◆ TEST() [30/43]

TEST ( StoerWagnerPerformance  ,
DenseGraph20Nodes   
)

◆ TEST() [31/43]

◆ TEST() [32/43]

TEST ( StoerWagnerUnitWeight  ,
CountsEdges   
)

◆ TEST() [33/43]

◆ TEST() [34/43]

TEST ( StoerWagnerWeighted  ,
TwoClustersHeavyBridge   
)

◆ TEST() [35/43]

TEST ( StoerWagnerWeighted  ,
TwoClustersWeakBridge   
)

◆ TEST() [36/43]

TEST ( StoerWagnerWeighted  ,
WeakFirstEdge   
)

◆ TEST() [37/43]

TEST ( StoerWagnerWeighted  ,
WeakLastEdge   
)

◆ TEST() [38/43]

TEST ( StoerWagnerWeighted  ,
WeakMiddleEdge   
)

◆ TEST() [39/43]

◆ TEST() [40/43]

TEST ( StoerWagnerWeightOnly  ,
BasicUsage   
)

◆ TEST() [41/43]

TEST ( StoerWagnerWeightOnly  ,
MatchesFullComputation   
)

◆ TEST() [42/43]

◆ TEST() [43/43]