1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
//! `oxicuda-graphalg` — Classical Graph Algorithms for OxiCUDA.
//!
//! # Architecture
//!
//! ```text
//! oxicuda-graphalg
//! ├── repr/ — Graph representations (AdjacencyList, AdjacencyMatrix,
//! │ EdgeList, CSR, WeightedGraph)
//! ├── traversal/ — BFS, DFS (iterative + post-order), IDDFS, bidirectional BFS
//! ├── topological/ — Kahn's algorithm and DFS-based topological sort
//! ├── shortest_path/ — Dijkstra, Bellman-Ford, SPFA, Floyd-Warshall, Johnson,
//! │ A*, Yen K-shortest, bidirectional Dijkstra
//! ├── mst/ — Prim, Kruskal, Borůvka, Union-Find
//! ├── max_flow/ — Edmonds-Karp, Dinic, push-relabel, min-cut
//! ├── matching/ — Hopcroft-Karp bipartite, Hungarian (Munkres) assignment,
//! │ simplified blossom for general unweighted matching
//! ├── flow/ — Gomory-Hu cut tree (Gusfield), Stoer-Wagner global min cut
//! ├── path/ — Suurballe vertex-disjoint shortest path pair
//! ├── connectivity/ — Tarjan / Kosaraju / Gabow SCC, bridges, articulation
//! │ points, biconnected components
//! ├── centrality/ — Degree, betweenness (Brandes), closeness, eigenvector,
//! │ PageRank, Katz
//! ├── community/ — Louvain, label propagation, Girvan-Newman
//! ├── arborescence/ — Chu-Liu-Edmonds minimum spanning arborescence
//! ├── isomorphism/ — VF2 subgraph isomorphism
//! ├── coloring/ — Greedy, DSATUR, Welsh-Powell
//! ├── tsp/ — Christofides approximation, nearest-neighbor, 2-opt
//! ├── eulerian/ — Hierholzer's Eulerian circuit
//! ├── hamiltonian/ — Held-Karp DP exact TSP
//! ├── dynamic/ — Streaming dynamic graph (incremental PageRank, incremental SCC)
//! └── metrics/ — Diameter, radius, density, clustering coefficient, transitivity
//! ```
//!
//! All algorithms are implemented in pure Rust with no external graph libraries.
//! Random sampling uses the workspace `LcgRng` (MMIX LCG with bit-32 boolean trick).
pub use ;
pub use ;