implemented default implementation for WheightedGraph num_edges

This commit is contained in:
hal8174 2024-03-21 18:38:36 +01:00
parent f25b58448e
commit ec1a255898
2 changed files with 4 additions and 45 deletions

View file

@ -3,7 +3,10 @@ pub mod shortest_path;
pub trait WheightedGraph: Sized {
type Node;
fn num_edges(&self, node: &Self::Node) -> usize;
fn num_edges(&self, node: &Self::Node) -> usize {
self.edge_iter(node).count()
}
fn edge(&self, node: &Self::Node, num: usize) -> Option<(Self::Node, f64)>;
fn edge_iter<'a, 'b>(&'a self, node: &'b Self::Node) -> WheightedGraphEdgeIter<'a, 'b, Self> {