A comprehensive collection of Data Structures, Algorithms, Problem Solving Patterns, STL tutorials, and LeetCode practice solutions implemented in C++.
This repository is designed as a personal learning journey and a structured reference for anyone preparing for coding interviews, competitive programming, or strengthening their understanding of fundamental computer science concepts.
- Learn Data Structures from scratch
- Master common Algorithmic techniques
- Understand problem-solving patterns
- Practice interview questions
- Build strong problem-solving intuition
- Create a reusable DSA reference
DSA
├── Algorithms
├── Data_Structures
├── LeetCode
├── Notes
├── Patterns
├── Pointers
└── STLContainers
Contains implementations of classical algorithms including searching, sorting and more.
Implementation and practice of fundamental data structures including:
- Arrays
- Linked Lists
- Stacks
- Queues
- Binary Search Trees
A collection of interview-focused problem-solving patterns.
Examples include:
- PrefixSum And SuffixSum
- Two Pointers
- Slow & Fast Pointers
- Sliding Window
- Binary Search
- Recursion
- Bit Manipulation
Understanding these patterns helps solve hundreds of interview questions efficiently.
Examples and explanations of the C++ Standard Template Library.
Topics include:
- Vector
- List
- Stack
- Queue
- Deque
- Priority Queue
Dedicated examples covering C++ pointer concepts including:
- Pointer basics
- Pointer arithmetic
- Dynamic memory
- Double pointers
- References
- Function pointers
- Memory management
Solutions to LeetCode problems organized for revision and interview preparation. Organized by first the difficulty and then the problem ID on Leetcode.
Theory notes and conceptual explanations that complement the implementation code.
These notes serve as quick revision material while studying.
For beginners, the recommended order is:
- Pointers
- STL Containers
- Study using Notes
- Basic Data Structures
- Algorithms
- Problem Solving Patterns
- LeetCode Practice
- C++
- Standard Template Library (STL)
- GCC / Clang compatible
- Git & GitHub
Clone the repository:
git clone https://github.com/coder-Retro/DSA.gitNavigate to any topic directory and compile the examples using your preferred C++ compiler.
Example:
g++ example.cpp -o example
./exampleSuggestions, corrections, and improvements are always welcome.
If you discover a bug or have a better implementation, feel free to open an issue or submit a pull request.
- Add visual diagrams
- Link related concepts
- Add benchmark comparisons where applicable
If this repository helps you learn Data Structures and Algorithms, consider giving it a ⭐ on GitHub. It helps others discover the project and motivates further improvements.
Happy Coding! 🚀