Skip to content

momchil-velikov/go-intro-algorithms

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

38 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

go-intro-algorithms

Collection of algorithms and data structures from CLRS, written in Go

This is a dump of the code I wrote during my own refreshement course in data structures, based on:

Contained within are implementations of:

  • binary heaps, heap sort
  • quicksort with several different partitioning strategies
  • counting sort and radix sort
  • open-addressing hash table
  • treaps
  • red-black trees
  • skip lists
  • B-trees
  • depth-first search in a directed graph
  • topological sort
  • strongly connected components: algorithms of Tarjan and Kosaraju
  • minimum spanning tree: algorithms of Prim and Kruskal
  • single source shortest paths: algorithms of Dijkstra and Bellman-Ford
  • all pairs shortest paths: algorithms of Floyd-Warshal and Johnson
  • maximum flow: algorithm of Edmonds-Karp
  • few other things :)

Extras:

  • a small library for reading and writing files in a very useful subset of the Graphviz format
  • an utility for generation of random irreducible control-flow graphs
  • some sample graphs on Graphs/data directory

Some of the programs have Go test suites; these are considerd pretty solid.

Use of this source code is governed by a BSD-style license that can be found in the COPYING file.

About

Collection of algorithms and data structures from CLRS, written in Go

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published