【文件属性】:
文件名称:goalgo:在 Go 中实现的一些标准算法
文件大小:899KB
文件格式:ZIP
更新时间:2021-07-03 09:23:53
Go
包goalgo提供了一些基础算法的实现,其中大部分来自普林斯顿大学的算法课程。
实现应该是清晰的,并有适当的注释。
每个算法或数据结构都应附有一个可运行的示例,如果可能,还应附有一个综合测试套件。
已实现算法列表
杂项
克努斯洗牌
联合查找
快速查找
加权快速联合
排序
选择排序
插入排序
壳排序
归并排序
快速排序
优先队列
最大堆
堆排序
符号表
二叉搜索树
左倾红黑树
图形
拓扑排序
循环检测
Kosaraju-Sharir 的强连接组件
Kruskal 的最小生成树
Dijkstra、AcyclicSP 和 Bellman-Ford 的最短路径
怎么跑
如果您是 Go 生态系统的新手,这是运行事物的快速入门:
$ cd ~
$ mkdir goroot
$ export GOPATH="$HOME/goroot"
$ go install github.com/seri/g
【文件预览】:
goalgo-master
----shuffle.go(828B)
----st()
--------llrb.go(8KB)
--------st.go(2KB)
--------llrb_test.go(2KB)
--------bst.go(3KB)
----pq()
--------sort.go(694B)
--------pq.go(2KB)
--------mutable()
--------adapters.go(1KB)
----examples()
--------bst_exercise.go(2KB)
--------dijkstra_example.go(655B)
--------uf_client.go(3KB)
--------cycle_example.go(791B)
--------sort_client.go(4KB)
--------toposort_example.go(2KB)
--------kruskal_example.go(707B)
--------mergesort_exercise.go(2KB)
--------util()
--------pq_exercise.go(1KB)
--------scc_example.go(1KB)
--------data()
--------quicksort_exercise.go(1KB)
--------sssp_client.go(2KB)
--------st_client.go(4KB)
----TODO.md(89B)
----graph()
--------mst.go(2KB)
--------reachable.go(1KB)
--------cycle.go(967B)
--------graph.go(4KB)
--------toposort.go(916B)
--------scc.go(3KB)
--------sssp.go(4KB)
----README.md(1KB)
----sort()
--------sort.go(1KB)
--------merge.go(1KB)
--------quick.go(2KB)
--------gosort.go(321B)
--------shell.go(444B)
--------selection.go(333B)
--------adapters.go(1KB)
--------insertion.go(483B)
----uf()
--------union_find.go(1KB)
--------quick_union.go(1KB)
--------quick_find.go(1KB)
----CHANGELOG.md(118B)