This crate implements the Hopcroft-Karp algorithm to find maximum unweighted matchings in bipartite graph. The crate exposes a single function hopcroft_matching::matching
which
takes as input a vector of edges (encoding the bipartite graph) and returns a maximum matching as a vector of edges.
Example usage:
```rs use hopcroft_matching::matching;
fn main() {
let edges = vec![(0,10), (0,11), (0,12), (1,11), (2,12)];
let res = matching(edges);
assert_eq!(res.len(), 3);
}
```