This repository is created to track my learning progress in Data Structures and Algorithms (DSA).
I use this repo to:
- Learn and practice different data structures and algorithms
- Solve DSA problems step by step
- Write my own notes and explanations for each problem
- Improve my problem-solving skills
- Practice and improve my GitHub workflow (commits, folders, README, etc.)
- Build a strong foundation in DSA
- Understand why a solution works, not just how
- Maintain clear and simple notes for revision
- Track my learning journey over time
- Get comfortable using GitHub as a developer
- π Different folders for data structures & algorithms
- π Link to the problem statements
- β Solutions (with code)
- βοΈ My personal notes, explanations, and observations
- β±οΈ Time & space complexity analysis (where applicable)
Some of the topics I will cover include:
- Arrays
- Strings
- Linked Lists
- Stacks & Queues
- Recursion
- Searching Algorithms
- Sorting Algorithms
- Trees
- Graphs
- Hashing
- Dynamic Programming
- Greedy Algorithms
(This list will grow as I learn more.)
For each problem, I try to include:
- Problem description
- Approach/logic
- Code implementation
- Edge cases
- Time complexity
- Space complexity
- Key takeaways
This repository also acts as a learning log.
By regularly committing my work, I can clearly see:
- What Iβve learned
- How my code quality improves
- How my understanding deepens over time
- Programming Language(s):
Python - Tools: Git, GitHub
This repo is not about writing the perfect solution.
Itβs about learning, improving, and staying consistent.
Mistakes are part of the process π§
Understanding is the goal π―
If youβre also learning DSA, feel free to explore, learn, and compare approaches.
Happy Coding! π»β¨