algods 0.1.0

A collection of data structures and algorithms
Documentation
#[cfg(test)]
mod tests {
    use super::super::*;

    #[test]
    fn test_new() {
        let uf = UnionFind::new();
        assert_eq!(uf.ids.len(), uf.nb_objects);
    }

    #[test]
    fn test_init() {
        let n = 100;
        let qf = UnionFind::with_capacity(n, UnionFindAlgorithm::QuickFind);
        assert_eq!(qf.size.len(), 0);
        assert_eq!(qf.nb_objects, n);
        assert_eq!(qf.ids.len(), n);
        let qu = UnionFind::with_capacity(n, UnionFindAlgorithm::QuickUnion);
        assert_eq!(qu.size.len(), n);
        assert_eq!(qu.nb_objects, n);
        assert_eq!(qu.ids.len(), n);
    }

    #[test]
    fn test_root_connected_union() {
        let mut uf = UnionFind::with_capacity(6, UnionFindAlgorithm::QuickUnion);
        uf.union(0, 1);
        uf.union(2, 3);
        uf.union(1, 3);
        uf.union(4, 5);
        assert_eq!(uf.connected(0, 3), true);
        assert_eq!(uf.connected(1, 2), true);
        assert_eq!(uf.connected(0, 4), false);
    }
}