Named parameter for setting heap and cross reference type with automatic allocation. They should have standard constructor interfaces to be able to automatically created by the algorithm (i.e. the graph should be passed to the constructor of the cross reference and the cross reference should be passed to the constructor of the heap). However, external heap and cross reference objects could also be passed to the algorithm using the heap() function before calling run() or init(). The heap has to maximize the priorities.
#include <lemon/nagamochi_ibaraki.h>
Additional Inherited Members | |
Public Types inherited from NagamochiIbaraki< Graph, CapacityMap, SetStandardHeapTraits< H, CR > > | |
typedef Traits::Graph | Graph |
The type of the underlying graph. | |
typedef Traits::CapacityMap | CapacityMap |
The type of the capacity map. | |
typedef Traits::CapacityMap::Value | Value |
The value type of the capacity map. | |
typedef Traits::Heap | Heap |
The heap type used by the algorithm. | |
typedef Traits::HeapCrossRef | HeapCrossRef |
The cross reference type used for the heap. | |
Public Member Functions inherited from NagamochiIbaraki< Graph, CapacityMap, SetStandardHeapTraits< H, CR > > | |
NagamochiIbaraki (const Graph &graph, const CapacityMap &capacity) | |
Constructor. | |
NagamochiIbaraki (const Graph &graph) | |
Constructor. | |
~NagamochiIbaraki () | |
NagamochiIbaraki & | heap (Heap &hp, HeapCrossRef &cr) |
Sets the heap and the cross reference used by algorithm. | |
void | init () |
bool | processNextPhase () |
Processes the next phase. | |
void | start () |
Executes the algorithm. | |
void | run () |
Runs NagamochiIbaraki algorithm. | |
Value | minCutValue () const |
Returns the min cut value. | |
Value | minCutMap (CutMap &cutMap) const |
Returns a min cut in a NodeMap. | |