bagnalla / cpp_graphs

C++ graph library

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

cpp_graphs

A simple graph library for practice/brushing up on basic graph algorithms and experimenting with modern C++ features (e.g., concepts).

The graph data structure is defined in graph.h. Code shared between multiple algorithms is in common.h. A binary min-heap data structure is defined in binary_heap.h, and a union-find (disjoint-set) data structure is defined in union_find.h.

Graph algorithms implemented:

  • Dijkstra's shortest path (dijkstra.h),
  • A* (astar.h),
  • Prim's minimum spanning tree (forest) (prim.h),
  • Kruskal's minimum spanning tree (forest) (kruskal.h),
  • Kahn's topological sort (kahn.h).

We also implement a few sorting algorithms (specialized to vectors but generic in the type of elements) in sort.h.

About

C++ graph library


Languages

Language:C++ 99.5%Language:Makefile 0.5%