Skip to content

vc-souza/gga

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Go Graph Algorithms (gga)

GitHub Version CI Coverage Go Reference Go Report Card License: MIT

Graph algorithms implemented in Go.

The goal of this package is to provide implementations for both graphs and graph algorithms (alongside some common data structures used by them), which can either be used directly or as a reference when implementing your own version. Keep in mind that some design decisions were made with ease of use and formatting support in mind, so you could always write a leaner/faster version (even asymptotically so) with such features stripped away.

At any point, a graph can be exported to a DOT file, which can then be processed by Graphviz. This makes it easy to take a snapshot of a graph before and after the execution of an algorithm, formatting the output as desired. Any particular DOT language feature that is not supported by the module can be added/modified in the resulting DOT files.

Examples can be found in the samples folder.

Algorithms

Before

before

After

after

Before

before

After

after

Before

before

After

after

Before

before

After

after

Before

before

After

after

Before

before

Strongly Connected Components (Tarjan's)

after scc

After

after

Before

before

After

after