#include <WKSConstructionHeuristic.h>
Inheritance diagram for WKSConstructionHeuristic:
Public Member Functions | |
WKSConstructionHeuristic (Graph *g, Matching *m, float goal=100.0) | |
virtual | ~WKSConstructionHeuristic (void) |
const char * | getName (void) const |
void | run (void) |
Private Member Functions | |
Vertex * | findVertexDeg1 (void) |
Vertex * | findVertexDegG (void) |
void | checkNeighboursDeg1 (Vertex *v) |
Private Attributes | |
std::priority_queue< Vertex *, std::vector< Vertex * >, LongerShortestEdge > | VerticesDeg1 |
contains all vertices of degree 1 - every vertex in this queue has a correct shortest edge if it still has degree 1 | |
std::priority_queue< Vertex *, std::vector< Vertex * >, LongerShortestEdge > | VerticesDegG |
contains all vertices with degree greater than 1 | |
Classes | |
class | LongerShortestEdge |
a comparison operator More... |
g | the underlying graph | |
m | the inital matching (should be empty) |
virtual WKSConstructionHeuristic::~WKSConstructionHeuristic | ( | void | ) | [inline, virtual] |
const char* WKSConstructionHeuristic::getName | ( | void | ) | const [inline, virtual] |
Implements MatchingAlgorithm.
void WKSConstructionHeuristic::run | ( | void | ) | [virtual] |
Implements MatchingAlgorithm.
Vertex * WKSConstructionHeuristic::findVertexDeg1 | ( | void | ) | [private] |
get the Vertex from VerticesDeg1 that is nearest to top (with updated degrees and shortest edges)
Vertex * WKSConstructionHeuristic::findVertexDegG | ( | void | ) | [private] |
get the Vertex from VerticesDegG that is nearest to top (with updated degrees and shortest edges)
void WKSConstructionHeuristic::checkNeighboursDeg1 | ( | Vertex * | v | ) | [private] |
copy all Neighbours of v that have degree 1 to VerticesDeg1
std::priority_queue<Vertex*, std::vector<Vertex*>, LongerShortestEdge> WKSConstructionHeuristic::VerticesDeg1 [private] |
std::priority_queue<Vertex*, std::vector<Vertex*>, LongerShortestEdge> WKSConstructionHeuristic::VerticesDegG [private] |