Class EdgeCoverWeighted
- java.lang.Object
-
- com.jgalgo.alg.cover.EdgeCoverAbstract
-
- com.jgalgo.alg.cover.EdgeCoverWeighted
-
- All Implemented Interfaces:
EdgeCover
public class EdgeCoverWeighted extends EdgeCoverAbstract
A simply algorithm for computing a minimum weighted edge cover using a minimum weighted perfect matching algorithm.The algorithm uses a reduction to a minimum weighted perfect matching problem: a graph \(G'\) is constructed, by duplicating the graph \(G\), namely duplicating each vertex \(v\) to two vertices \(v_0\) and \(v_1\) and adding an edge between \(u_0\) and \(v_0\) and between \(u_1\) and \(v_1\) for each edge \((u, v)\) in \(G\). In addition, between each pair of vertices \(v_0\) and \(v_1\) in \(G'\) an edge is added with weight equal to the minimum weight of an edge incident to \(v\) in \(G\). The minimum weighted perfect matching in \(G'\) is computed and the edges corresponding to the matching are added to the edge cover.
The algorithm running time and space are dominated by the minimum weighted perfect matching algorithm used. Other than that, the algorithm use linear space and time.
- Author:
- Barak Ugav
-
-
Constructor Summary
Constructors Constructor Description EdgeCoverWeighted()
Create a new weighted edge cover algorithm object.
-
-
-
Constructor Detail
-
EdgeCoverWeighted
public EdgeCoverWeighted()
Create a new weighted edge cover algorithm object.Please prefer using
EdgeCover.newInstance()
to get a default implementation for theEdgeCover
interface.
-
-