Class SteinerTreeMehlhorn

java.lang.Object
com.jgalgo.alg.span.SteinerTreeAlgoAbstract
com.jgalgo.alg.span.SteinerTreeMehlhorn
All Implemented Interfaces:
SteinerTreeAlgo

public class SteinerTreeMehlhorn extends SteinerTreeAlgoAbstract
Mehlhorn algorithm for Steiner tree approximation.

The Steiner tree problem is NP-hard, and this algorithm provides a \(2(1-1/l)\)-approximation where \(l\) is the minimum number of leaves in any Steiner tree for the given graph. Note that \(l\) is always smaller or equal to the number of terminals vertices.

The algorithm runs in \(O(m+n \log n)\) time and use linear space.

Based on 'A faster approximation algorithm for the Steiner problem in graphs' by Kurt Mehlhorn.

Author:
Barak Ugav