Initial release #1

Merged
warrence merged 102 commits from dev into main 2026-06-30 10:26:52 +02:00
2 changed files with 23 additions and 5 deletions
Showing only changes of commit d0cbebcae0 - Show all commits
+4 -1
View File
@@ -35,7 +35,10 @@ where
let distances = dijkstra_impl(graph, source, |neighbor, predecessor| {
predecessors[neighbor.into()] = Some(predecessor);
});
DijkstraResult { distances, predecessors }
DijkstraResult {
distances,
predecessors,
}
}
pub fn dijkstra_distances<G>(graph: &G, source: G::Vertex) -> Vec<Option<u32>>
+19 -4
View File
@@ -112,8 +112,16 @@ fn dijkstra_distances_single_vertex() {
let mut graph = AppendGraph::new();
let v1 = graph.add_vertex();
let distances = algorithms::dijkstra_distances(&graph, v1);
assert_eq!(distances.len(), 1, "distances count must equal vertex count");
assert_eq!(distances[0], Some(0), "unexpected distance of source vertex");
assert_eq!(
distances.len(),
1,
"distances count must equal vertex count"
);
assert_eq!(
distances[0],
Some(0),
"unexpected distance of source vertex"
);
}
#[test]
@@ -122,8 +130,15 @@ fn dijkstra_distances_disconnected() {
let v1 = graph.add_vertex();
graph.add_vertex();
let distances = algorithms::dijkstra_distances(&graph, v1);
assert_eq!(distances.len(), 2, "distances count must equal vertex count");
assert_eq!(distances[1], None, "unexpected distance of disconnected vertex");
assert_eq!(
distances.len(),
2,
"distances count must equal vertex count"
);
assert_eq!(
distances[1], None,
"unexpected distance of disconnected vertex"
);
}
#[test]