Google Go Programming Language Algorithms
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
Table of Contents
Sorting
Compression
Trees
Artificial Intelligence
Search
Concurrency
Sorting
- BubbleSort
- QuickSort
- InsertionSort
- MergeSort
- CountSort
- SelectionSort
- ShellSort
- HeapSort
Compression
- Lempel–Ziv–Welch (LZW)
- Burrows–Wheeler Transform (BWT)
- Huffman Encodings
Trees
- B+ Tree
- AVL-Tree
- KD-Tree
Artificial Intelligence
- A* Search
- Bayesian Networks
- Neural Networks
- Decision Tree
Search
- Page-Rank
- Depth-First Search
- Breadth-First Search
- Binary Search
Concurrency Locks
- WaitGroup (Barrier)
- Mutex Lock
- Semaphore
- Condition Variable
- Spin Lock