path-finding-lib 0.3.1

This library provides a variety of path finding and graph operations. Work in progress.
Documentation
use crate::graph::Graph;
use crate::node::Node;
use crate::path::PathFinding;
use crate::search::probing;
use crate::search::probing::{bi_directional_probe, probe};

pub struct BreadthFirstSearch {}

pub struct BiBreadthFirstSearch {}

impl PathFinding for BreadthFirstSearch {
    fn execute(&self, source: Node, target: Node, graph: &Graph) -> Graph {
        return probe(source.clone(), target.id, graph, probing::dequeue);
    }
}

impl PathFinding for BiBreadthFirstSearch {
    fn execute(&self, source: Node, target: Node, graph: &Graph) -> Graph {
        return bi_directional_probe(source, target, graph);
    }
}