Commit Graph

80 Commits

Author SHA1 Message Date
warrence 3565b6b548 Remove pub from structs and fields that should have been private
Graph fields can now be private because of the new iterators Graph::vertices()
and Graph::neighbors(). Without them there was no way to access vertices and
incidences without the public Graph fields.
2025-10-25 01:23:05 +02:00
warrence 5ad480b379 Add tests for Dijkstra's algorithm on trivial graphs 2025-10-25 01:15:16 +02:00
warrence 64d0302d64 Update Dijkstra's algorithm to use Graph::neighbors() iterator 2025-10-25 01:03:02 +02:00
warrence 149db22fe8 Add todo 2025-10-25 00:57:29 +02:00
warrence 761920b2c0 Update Graph::are_adjacent() to use neighbors() iterator 2025-10-25 00:56:24 +02:00
warrence 50f3a150bb Add tests for some trivial graphs 2025-10-25 00:51:48 +02:00
warrence 6ff02f8c67 Update vertex iterator tests 2025-10-25 00:41:08 +02:00
warrence a26b0eba8c Add tests for Graph::neighbors() 2025-10-24 23:29:25 +02:00
warrence 74ca390ac2 Add tests for Graph::vertices() 2025-10-24 23:20:48 +02:00
warrence 72d3c06f1e Rename Graph::iter() to Graph::vertices() 2025-10-21 16:38:02 +02:00
warrence dd76355a70 Add iterator over neighbors of a vertex Graph::neighbors() 2025-10-21 16:36:53 +02:00
warrence 0826e140b8 Add iterator over vertices Graph::iter() 2025-10-21 15:57:48 +02:00
warrence bff8ca6857 Move main() code into tests and remove binary crate 2025-10-15 17:09:11 +02:00
warrence a4ed7ea44e Update todos 2025-10-11 21:44:20 +02:00
warrence 66e1498c76 Add Graph::new() 2025-10-08 17:04:25 +02:00
warrence 679b597f92 Add todo 2025-10-08 14:38:28 +02:00
warrence 720f497b64 Add "algorithms" and "models" modules for existing code and related todos 2025-10-08 14:32:52 +02:00
warrence 46675a1246 Add success message at the end of main() 2025-10-08 14:30:14 +02:00
warrence 43974d6754 Add todos 2025-10-08 13:42:50 +02:00
warrence e879316a4c Update todo 2025-10-06 19:25:20 +02:00
warrence 5bf723928b Update test assertions in main() 2025-10-06 18:43:37 +02:00
warrence 2a35c47ad4 Add basic Dijkstra algorithm with test in main() 2025-10-06 18:34:17 +02:00
warrence 04c9150172 Reformat code with rustfmt 2025-10-06 10:59:49 +02:00
warrence e518d72a9e Rename Graph.vertex_incidence_headers to "incidence_headers" 2025-10-06 10:53:54 +02:00
warrence 5a1080783c Add Graph example test 2025-10-06 10:23:21 +02:00
warrence 58f330ef46 Fix are_adjacent() method
Next incidence was not updated correctly, which could lead to bad results and infinite loops.
2025-10-06 10:23:19 +02:00
warrence b85edb1287 Add RustRover files 2025-10-06 10:23:15 +02:00
warrence 2e72de2281 Add experimental Graph implementation 2025-10-06 10:23:11 +02:00
warrence e07389aed8 Add cargo init files 2025-10-06 10:22:34 +02:00
warrence 520969c157 Initial commit 2025-10-03 17:39:03 +02:00