Here is a collection of various Computer Science related algorithms for the Go programming language a.k.a. golang.
Much of the code is from RosettaCode and standard lib, and is referenced within the file as required.
Examples are available inside the examples folder
Sorting
Compression
Trees
Artificial Intelligence
Search
Concurrency
- BubbleSort
- QuickSort
- InsertionSort
- MergeSort
- CountSort
- SelectionSort
- ShellSort
- HeapSort
- Lempel–Ziv–Welch (LZW)
- Burrows–Wheeler Transform (BWT)
- Huffman Encodings
- B+ Tree
- AVL-Tree
- KD-Tree
- A* Search
- Bayesian Networks
- Neural Networks
- Decision Tree
- Page-Rank
- Depth-First Search
- Breadth-First Search
- Binary Search
- WaitGroup (Barrier)
- Mutex Lock
- Semaphore
- Condition Variable
- Spin Lock