🚀 Data Structures and Algorithms in C++
From Beginner to Advanced (Strike DSA Course)
A complete, structured, and interview-oriented Data Structures & Algorithms repository in C++, designed to take you from absolute beginner to advanced problem solver.
👨🏫 Instructor
Rohit Negi Sir
One of the most respected educators for DSA and problem-solving in C++.
This repository is created by following the Strike DSA Course curriculum taught by Rohit Negi Sir, with a strong focus on:
- Conceptual clarity
- Clean C++ implementations
- Interview preparation
- Real-world problem solving.
👨💻 Maintained By
Harshal Chauhan
🎓 Software Engineering Student
💻 MERN Stack Developer | GenAI | High Level Design | DSA Enthusiast
🔗 LinkedIn:
https://www.linkedin.com/in/harshal8411
📧 Email:
chauhanharshal8411@gmail.com
📌 Course Philosophy
✔ Concept First – Understand why a data structure or algorithm exists
✔ Implementation Focused – Clean, readable, and optimized C++ code
✔ Problem Solving – Build confidence for interviews & real projects
“DSA is not about solving problems fast,
it’s about thinking right.”
🧠 Detailed Course Syllabus
📘 Module 1: C++ Foundations for DSA
- Introduction to C++ & Environment Setup
- Variables, Data Types & I/O
- Operators, Conditions & Loops
- Functions in C++
- Pointers & Dynamic Memory Allocation
📘 Module 2: Core Concepts of Algorithmic Analysis
- Time & Space Complexity
- Big-O, Big-Ω, Big-Θ Notations
- Best, Average & Worst Case
- Recursion & Call Stack
- Classic Recursion Problems
📘 Module 3: Basic Data Structures & Algorithms
- Arrays & Dynamic Arrays (Vector)
- Strings (C-style & STL)
- Searching Algorithms
- Linear Search
- Binary Search
- Sorting Algorithms
- Bubble, Selection, Insertion
- Merge Sort, Quick Sort
📘 Module 4: C++ Standard Template Library (STL)
- STL Overview
- Containers
- vector, list, deque
- stack, queue, priority_queue
- set, map, unordered_set, unordered_map
- STL Algorithms & Functors
📘 Module 5: Object-Oriented Programming (OOP)
- Classes & Objects
- Four Pillars of OOP
- Constructors & Destructors
- Designing Data Structures using OOP
📘 Module 6: Linear Data Structures
- Linked Lists
- Stacks
- Implementation & Applications
- Queues
- Circular Queue, Deque
- BFS Applications
📘 Module 7: Non-Linear Data Structures
- Trees (Basics & Traversals)
- Binary Search Trees (BST)
- Heaps & Priority Queues
- Hashing & Hash Tables
📘 Module 8: Advanced Algorithmic Paradigms
- Backtracking
- Divide & Conquer
- Greedy Algorithms
- Dynamic Programming
- Sliding Window Technique
📘 Module 9: Graphs
- Graph Representations
- BFS & DFS
- Shortest Path Algorithms
- Minimum Spanning Tree
- Topological Sorting
- Strongly Connected Components
📘 Module 10: Advanced Data Structures & Topics
- Bit Manipulation
- Trie (Prefix Trees)
- AVL Trees
- B-Trees & B+ Trees
- Vector Databases (Conceptual)
🎯 Goals of This Repository
- Build strong DSA fundamentals
- Prepare for FAANG & Product-based interviews
- Write clean & optimized C++ code
- Develop problem-solving mindset
⭐ How to Use This Repository
- Follow modules in sequence
- Read concepts carefully
- Implement code yourself
- Practice problems daily
- Revise & optimize solutions
🤝 Contribution & Support
If this repository helped you:
- ⭐ Star the repository
- 🍴 Fork it
- 🧠 Share with friends preparing for DSA
📜 Credits
All core concepts and curriculum are inspired by
Rohit Negi Sir – Strike DSA Course
This repository is created for learning & educational purposes only.
🚀 Happy Coding & Keep Striking DSA!