Skip to content

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

  1. Stack, Queue, Linked List (Month 1–2, generics practice).
  2. Hash map / set semantics, Binary search (Month 2).
  3. Trees, Heaps, Tries (Month 3).
  4. Graphs + BFS/DFS (pairs nicely with Month 3 concurrency).
  5. 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