ab6b370b3a4ec29797b1fae6369202b2fac6a8ae
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
Hash Based — key/value
- Hash Map
- Hash Set
Each category solves different problems:
- Linear — ordered data, undo/redo, scheduling
- Tree — searching, sorting, hierarchical data like file systems
- Graph — networks, maps, social connections, dependencies
- Hash — fast lookups, caching, counting
- Set — membership testing, deduplication
Algorithms ωψγ
- Kadane's Algorithm
- Euclidean gcd
- Fibonacci
- Modular Arithmetic
- Sieve of Eratosthenes
- BFS Breadth-First Search
- DFS Depth-First Search
- Karatsuba algorithm
Documentation
go doc -all ./linear | bat -l go
go doc -all ./algo | bat -l go
Tests
go test ./tests/...
Description
Languages
Go
100%