warrence
5b0d6ca1ad
Fix Graph::delete_edge() for paired index with loops
...
- Add new tests for this case
- Fix double list traversal for loop deletions
- Rename Graph::delete_incidence() to update_incidence_list(), and its arguments and local vars
2026-04-29 18:24:10 +02:00
warrence
2793f8af8a
Add Graph::delete_edge() implementation
2026-04-28 17:39:32 +02:00
warrence
ceedea6a0f
Fix formatting
2026-04-28 17:38:41 +02:00
warrence
8e0b3325f5
Update and adds tests for Graph edge deletion
2026-04-28 17:36:38 +02:00
warrence
f075501828
Add comments for AppendGraph and Graph add_incidence()
2026-04-28 17:35:00 +02:00
warrence
0ae4d486cb
Add and update todos
2026-04-28 17:29:54 +02:00
warrence
a8168b35e4
Add unit tests for GraphTopologyDeletion for Graph
2026-04-23 22:50:11 +02:00
warrence
0a30307a0d
Update todos
2026-04-23 22:49:12 +02:00
warrence
37a911dce0
Change GraphTopology implementation for Graph with generational arena
2026-04-23 18:25:23 +02:00
warrence
67e16f50cd
Fix same issues in Graph draft as well
2026-04-23 18:23:54 +02:00
warrence
02cd1a0dea
Fix several minor issues in AppendGraph::are_adjacent(), unit tests, and formatting
2026-04-23 18:18:36 +02:00
warrence
6180786e33
Fix AppendGraph unit tests
2026-04-23 18:13:10 +02:00
warrence
eabde7d635
Add Default implementation for AppendGraph
2026-04-23 18:10:43 +02:00
warrence
b54800c1be
Add new GraphTopologyDeletion trait for Graph to implement
2026-04-22 16:33:33 +02:00
warrence
8126352c9b
Add Graph as a straight copy of AppendGraph
2026-04-22 16:33:05 +02:00
warrence
d0cbebcae0
Fix formatting
2026-04-22 16:32:17 +02:00
warrence
ee26b7a3e0
Move AppendGraph to its own module
2026-04-22 16:31:17 +02:00
warrence
a939f9b889
Add Dijkstra variant without returning predecessors
2026-04-22 15:50:45 +02:00
warrence
a250bde626
Add DijkstraResult return type instead of unnamed tuple
2026-04-22 14:49:07 +02:00
warrence
41f2332735
Add test for add_edge() return value
2026-04-22 14:36:41 +02:00
warrence
ab830ed221
Rename Graph to AppendGraph for future other graph models
2026-04-22 14:31:11 +02:00
warrence
9088dd4683
Add edge return type to GraphTopology::add_edge()
...
There is currently no use for the return type, but it will come.
2026-04-22 14:28:21 +02:00
warrence
da9ba7b0ad
Add GraphTopology trait and use it to interface graph model with algorithm
2026-04-22 14:26:35 +02:00
warrence
489ed6d506
Combine next_incidences and incidence_vertices of Graph into one, and rename incidence_headers to vertices
2026-03-19 21:21:52 +01:00
warrence
c5a0f2a3f6
Add tests for loops and multiple edges
2025-11-03 14:03:21 +01:00
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