My journey of learning Data Structures and Algorithms using Modern C++.
This repository contains my daily C++ programming and Data Structures & Algorithms practice.
The goal of this repository is to build strong problem-solving skills, improve coding ability, and prepare for software engineering interviews.
Each topic contains:
- Concept examples
- Practice problems & LeetCode solutions
- Notes & interactive visualizers
- Optimized multi-approach implementations (Brute Force → Optimal)
data-structure-and-algorithm-cpp/
├── 01-variables-and-data-types/
├── 02-operators/
├── 03-conditional-statements/
├── 04-loops/
├── 05-patterns/
├── 06-functions/
├── 08-pointers/
├── 09-arrays-part-1/
│ ├── linear & binary search, array reversal
├── 10-arrays-part-2/
│ ├── subarrays, Kadane's algorithm, buy/sell stock, trapping rainwater
├── 11-sorting/
│ ├── bubble, selection, insertion, counting, std::sort & visualizer
├── 12-arrays-2d/
│ ├── spiral matrix, diagonal sum, staircase search, transpose
└── 13-char-arr-and-string/
├── case conversion, cstring vs std::string, anagrams, palindromes, LeetCode 1657 & 1790
- Variables & Data Types (
01-variables-and-data-types) - Operators & Constants (
02-operators) - Conditional Statements (
03-conditional-statements) - Loops & Flow Control (
04-loops) - Pattern Printing (
05-patterns) - Functions & Scope (
06-functions) - Pointers & Memory (
08-pointers) - Arrays (Part 1) — Searching & Basics (
09-arrays-part-1) - Arrays (Part 2) — Kadane's, Trapping Rainwater, Stock Buy/Sell (
10-arrays-part-2) - Sorting Algorithms — Bubble, Selection, Insertion, Counting, Built-in (
11-sorting) - 2D Arrays & Matrices — Spiral Matrix, Diagonal Sum, Staircase Search (
12-arrays-2d) - Character Arrays & Strings — Palindromes, Anagrams, String Operations (
13-char-arr-and-string) - Vectors & Dynamic Arrays (
14-vectors) (in progress) - Bit Manipulation (
15-bit-manipulation) (upcoming) - Object Oriented Programming (
16-oops-part-1,17-oops-part-2) (upcoming) - Recursion & Divide and Conquer (
18-recursion-part-1,19-recurtion-part-2,20-divide-and-conquer) (upcoming) - Backtracking (
21-backtracking) (upcoming)
- Master Modern C++
- Master DSA Problem Solving Patterns
- Optimize for Time & Space Complexity
- Ace Technical Interviews
This repository is updated regularly as I continue learning C++ and Data Structures & Algorithms.
This repository documents my continuous learning journey. Solutions evolve from brute force to optimal as new concepts and techniques are practiced.