Download jar file or use maven. psjava requires Java 1.6 (or above)
<dependency>
<groupId>org.psjava</groupId>
<artifactId>psjava</artifactId>
<version>0.1.19</version>
</dependency>
// Let's make a simple bipartite graph.
MutableBipartiteGraph<String> g = MutableBipartiteGraph.create();
g.insertLeftVertex("L1");
g.insertLeftVertex("L2");
g.insertLeftVertex("L3");
g.insertRightVertex("R1");
g.insertRightVertex("R2");
g.addEdge("L1", "R1");
g.addEdge("L1", "R2");
g.addEdge("L2", "R1");
g.addEdge("L3", "R1");
MaximumBipartiteMatchingResult<String> result = HopcroftKarpAlgorithm.getInstance().calc(g);
// In this example, (L1-R2, L2-R1) is one of the solutions.
int matchCount = result.getMaxMatchCount(); // must be 2
String matchOfL1 = result.getMatchedVertex("L1"); // must be "R2".
Copyright 2014 psjava team. View on GitHub