crates.io github

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);
}

```