goalgo提供了一些基础算法的实现,其中大部分来自普林斯顿大学的算法课程。实现应该是清晰的,并有适当的注释。每个算法或数据结构都应附有一个可运行的示例,如果可能,还应附有一个综合测试套件。已实现算法列表:

  • 杂项

  • 克努斯洗牌

  • 联合查找

  • 快速查找

  • 加权快速联合

  • 排序

  • 选择排序

  • 插入排序

  • 壳排序

  • 归并排序

  • 快速排序

  • 优先队列

  • 最大堆

  • 堆排序

  • 符号表

  • 二叉搜索树

  • 左倾红黑树

  • 图形

  • 拓扑排序

  • 循环检测

  • Kosaraju-Sharir的强连接组件

  • Kruskal的最小生成树

  • Dijkstra、AcyclicSP和Bellman-Ford的最短路径

如何运行:

如果您是Go生态系统的新手,这是运行项目的快速入门:

$ cd ~

$ mkdir goroot

$ export GOPATH=\"$HOME/goroot\"

$ go install github.com/seri/g