This repository tracks my 30-day journey into Data Structures and Algorithms. My focus is not just on "passing interviews," but on building high-performance, scalable systems using a modern TypeScript/Edge-native stack.
As an engineer specializing in Hono, Cloudflare Workers, and Drizzle ORM, I use DSA to:
- Reduce Latency: Optimizing search and sort at the network edge.
- Minimize Memory: Writing lightweight logic for serverless environments (Cloudflare Isolates).
- Type-Safety: Implementing complex patterns with full TypeScript integrity.
Focus: How data is stored and accessed efficiently.
- Arrays & Strings: Sliding Window, Two Pointers.
- Objects/Hash Maps: O(1) Lookups, Caching strategies.
- Stacks & Queues: Handling request buffers and undo/redo logic.
- Linked Lists: Understanding memory pointers and sequential data.
Focus: Reusable templates for solving complex problems.
- Binary Search: Logarithmic searching in sorted datasets.
- Sorting: Merge Sort & Quick Sort fundamentals.
- Recursion: Solving nested problems (Category trees, File systems).
Focus: Identifying common coding interview patterns.
- Sliding Window: Optimization for stream data.
- Fast & Slow Pointers: Cycle detection and middle-finding.
- Backtracking: State-space search and combinations.
Focus: Applying DSA to the MERN/Edge stack.
- Graph/BFS: Building recommendation engines.
- Tries: Autocomplete search systems.
- LRU Cache: Implementing custom caching at the Edge.
| Topic | Difficulty | Solution Link | Logic Summary |
|---|---|---|---|
| Two Sum | Easy | View Code | Using Hash Map for O(n) lookup |
| Max Subarray | Medium | View Code | Sliding window optimization |
| ... | ... | ... | ... |
- Language: JavaScript
- Runtime: Node.js
- Tools: Vitest (for testing solutions), LeetCode, GitHub Actions (CI)
- Visuals: Visualgo.net
- Practice: LeetCode (Top 75 Blind)
- Theory: Abdul Bari (Algorithms)
“I don’t just write code that works; I write code that scales.”