/graph

Primary LanguageGo

graph

A graph package inspired by examples from Steven Skeina's excellent book The Algorithm Design Manual. This was built as a learning excercise and to unify the concepts into a single Go type that is easy to use and test.

Concepts Covered

  • Graph initialization
  • Breadth-first traversal
  • Depth-first traversal
  • Finding connected components
  • Determining if graph is bipartite
  • Finding cycles
  • Finding articulation vertices
  • Topological sorting
  • Finding strongly connected components

Usage

See tests.