Graph Algorithms

Python3 implementations for:

  • Unweighted Directed Graphs
  • Weighted Directed Graphs
  • Dijkstra's SP
  • Bellman-Ford SP
  • Prim's MST (Lazy & Eager)
  • Kruskal's MST
  • Flow Networks
  • Ford Fulkerson (Edmonds Karp)
  • Dinic's
  • Push-Relabel flows (FIFO queue)
  • Floyd Warshall
  • Hopcroft-Karp
  • A*
  • Johnson's Algorithm
  • Klein's Cycle Cancelling (min-cost flow)

To Add

  • Single Soruce Shortest Paths

    • LPA* (?)
    • SMA* (?)
    • IDA* (?)
  • Bipartite Matching

    • Hungarian Algorithm
  • Non-Bipartite Matching

    • Edmond's Blossom
  • Min-Cost Flow

    • Goldberg-Tarjan