master
Go / build (push) Successful in 34s
Data Structures & Algorithms in Go
Note
I made this repo while following the book to learn go and DSA. The implementations are not gonna be the most performant. Consider looking for another repo if you need any of there in your serious project.
Linear
- Stack
- Queue
- Double Linked List
- Circular Buffer
- Deque (segmented array), ⛔ Not possible in Go
Documentation
go doc -all ./linear | bat -l go
Tree — hierarchical, parent/child relationships
- Binary Search Tree
- AVL Tree
- Heap (min/max)
- Trie
- LSM Tree
Documentation
for p in ./trees/ ./trees/avl ./trees/heap; do
go doc -all "$p"; done | bat -l go
Graph
- Unweighted
- Weighted
- Directed
- DAG
Sets
- Union Find
Documentation
go doc -all ./sets/ | bat -l go
Probabilistic
- Bloom filter
- Hyper Log Log
Algorithms ωψγ
Etc
- Kadane's Algorithm
- Euclidean GCD
- Fibonacci
- Miller Rabin prime test
- Modular Arithmetic
- Sieve of Eratosthenes
Documentation
go doc -all ./algo | bat -l go
Heaps & Trees
- Priority Queue
- Heap Sort
- BFS Breadth-First Search
Graphs
- Dijkstra's
- DFS & BFS
- Topological Sort with Kahn's algorithm
Documentation
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%