Algorithms
Classic algorithms and data structures implemented in Go. Not for production use, it is mostly an attempt to get comfortable both with Go and key CS concepts.
Contents
Data Structures
- Binary Search Tree (wiki)
- Graph (wiki)
- Hash Tables (wiki)
- Linked List (wiki)
- Matrix (wiki)
- Min/Max Heap (wiki)
- Priority Queue (wiki)
- Queue (wiki)
- Stack (wiki)
Graph algorithms
Searching:
Shortest path:
Sorting:
Maths algorithms
- Binary GCD algorithm (wiki)
- Closest pairs (wiki)
- FastPower (wiki)
- Fibonacci (wiki)
- Fisher-Yates Shuffle (wiki)
- Erastothenes Sieve (wiki)
- Extented GCD algorithm (wiki)
- Karatsuba's Multiplication (wiki)
- Newton's Square Root (wiki)
- Permutations Count
- Strassen's matrix multiplication (wiki)
- Randomized Selection
Sorting algorithms
- Bubble Sort (wiki)
- Heap Sort (wiki)
- Quick Sort (wiki)
- Merge Sort (wiki)
- Insertion Sort (wiki)
- Shell Sort (wiki)
- Selection Sort (wiki)