Table of Contents
🧮 Algorithms & Data Structures¶
Data structures and algorithms implemented from scratch in idiomatic Go, with tests and complexity notes. Doubles as interview prep (interview/coding-challenges.md).
Structure¶
algorithms/
├── data-structures/ stack/ queue/ linked-list/ binary-tree/ heap/ trie/ graph/ hashmap/
├── sorting/ bubble/ quick/ merge/ heap/
├── searching/ binary-search/ bfs/ dfs/
└── leetcode/ NNNN-problem-name/
Each folder: implementation + *_test.go (table-driven) + a README.md noting time/space complexity and trade-offs.
Suggested order¶
- Stack, Queue, Linked List (Month 1–2, generics practice).
- Hash map / set semantics, Binary search (Month 2).
- Trees, Heaps, Tries (Month 3).
- Graphs + BFS/DFS (pairs nicely with Month 3 concurrency).
- Sorting suite + complexity analysis.
Tracker¶
| Topic | Implemented | Tested | Big-O noted |
|---|---|---|---|
| Stack (generic) | ⬜ | ⬜ | ⬜ |
| Binary search | ⬜ | ⬜ | ⬜ |
| BFS / DFS | ⬜ | ⬜ | ⬜ |
| … |
Tip: implement generic versions using Go generics (
[T any],[T comparable],cmp.Ordered) — see the generics cheatsheet.
⬅ README