ba544116272c4cd1b9147835e037867190a692b5
Data Structures & Algorithms in Go
Linear
- Stack
- Queue
- Double Linked List
- Circular Buffer
- Deque (segmented array), ⛔ Not possible in Go
Tree — hierarchical, parent/child relationships
- Binary Search Tree
- AVL Tree
- Heap (min/max)
- Trie
Graph
- Unweighted
- Weighted
- Directed
- DAG
Sets
- Union Find
Probabilistic
- Bloom filter
- Hyper Log Log
Algorithms ωψγ
Etc
- Kadane's Algorithm
- Euclidean GCD
- Fibonacci
- Miller Rabin prime test
- Modular Arithmetic
- Sieve of Eratosthenes
Heaps & Trees
- Priority Queue
- Heap Sort
- BFS Breadth-First Search
- DFS Depth-First Search
Graphs
- Topological Sort with Kahn's algorithm
Documentation
Linear Structures
go doc -all ./linear | bat -l go
Algorithms
go doc -all ./algo | bat -l go
Sets
go doc -all ./sets/ | bat -l go
Trees
for p in ./trees/ ./trees/avl ./trees/heap; do go doc -all "$p"; done | bat -l go
Graphs
go doc -all ./graphs | bat -l go
Tests
go test ./tests/...
External references
Disclosure
Unit tests and explanations written by claude
Description
Languages
Go
100%