Welcome! This is my personal repo where I’m collecting everything I learn while studying Data Structures and Algorithms (DSA) using Python.
The goal?
To actually understand this stuff — not just watch videos or read theory, but build things, break them, and write it all down.
This repo is my DSA learning hub. I'm using it to:
- Take structured notes on DSA concepts (with examples & edge cases)
- Write clean, from-scratch implementations of data structures & algorithms
- Practice solving real-world coding problems
- Track my progress and revisit tough concepts later
- Build a solid base for coding interviews & system design
I believe in learning by doing, so this repo is full of experiments, bugs I fixed, and code that’s constantly evolving.
- Time & Space Complexity (Big-O)
- Arrays & Strings
- Linked Lists (Singly, Doubly, Circular)
- Stacks & Queues
- Hash Tables / Dictionaries
- Trees & Binary Search Trees
- Graph Algorithms (BFS, DFS, etc.)
- Recursion & Backtracking
- Sorting Algorithms (Merge, Quick, etc.)
- Searching (Binary, Linear, etc.)
- Dynamic Programming
- Sliding Window, Two Pointers, Divide & Conquer
- Greedy Algorithms
- Watching videos & reading docs
- Rewriting key ideas in my own words
- Implementing everything manually (no shortcuts)
- Solving related practice problems (Leetcode, etc.)
- Refactoring my code after feedback or review
- Documenting mistakes & “aha!” moments
This repo isn’t just for studying — it’s also where I work through confusion, build muscle memory, and connect ideas across topics.
- Language: Python 3
- Editor: VS Code, Jupyter for notes/visuals
- Practice Sites: Leetcode
- Extras: Diagrams, flowcharts, cheat sheets
This is a growing, constantly evolving repo. Some sections are complete, others are messy and mid-refactor. That’s intentional — this is a real learning log.
Feel free to fork, explore, or drop a ⭐️ if this helps you in any way. If you're also learning DSA and want to collaborate or chat, hit me up on GitHub!