Skip to content

DSA C++ Syllabus

TopicSubtopics / What to Cover
C++ Basics

Input / Output

Data types

Loops

Functions

Time & Space Complexity

Big-O notation ⭐

Best, Average, Worst case ⭐

Common complexity classes ⭐

Arrays

Traversal ⭐

Insertion & Deletion ⭐

Prefix Sum ⭐

Sliding Window ⭐

Two Pointer ⭐

Strings

String traversal ⭐

Palindrome check ⭐

Substring problems ⭐

Pattern matching basics

Recursion

Base case & recursive relation ⭐

Stack memory ⭐

Recursion tree

Backtracking

Subsets ⭐

Permutations ⭐

N-Queens ⭐

Sudoku Solver

Linked List

Singly Linked List ⭐

Doubly Linked List

Reverse Linked List ⭐

Cycle detection ⭐

Stack

Stack using array ⭐

Stack using linked list

Applications (Next Greater Element) ⭐

Queue

Simple Queue ⭐

Circular Queue ⭐

Deque ⭐

Hashing

Hash table concept ⭐

unordered_map / unordered_set ⭐

Frequency problems ⭐

Searching

Linear Search

Binary Search ⭐

Lower/Upper Bound ⭐

Sorting

Bubble, Selection, Insertion

Merge Sort ⭐

Quick Sort ⭐

Two Pointer & Sliding Window

Fixed window ⭐

Variable window ⭐

Two pointer patterns ⭐

Greedy Algorithms

Activity Selection ⭐

Fractional Knapsack ⭐

Interval scheduling

Trees

Binary Tree traversal ⭐

Binary Search Tree ⭐

Height & Diameter ⭐

Heaps

Min Heap ⭐

Max Heap ⭐

Priority Queue ⭐

Graphs

BFS ⭐

DFS ⭐

Connected Components ⭐

Graph Algorithms

Topological Sort ⭐

Dijkstra ⭐

Minimum Spanning Tree ⭐

Dynamic Programming

1D DP ⭐

2D DP ⭐

Knapsack ⭐

LCS ⭐

Bit Manipulation

Bitwise operators ⭐

Set/Clear bit ⭐

XOR properties ⭐

Interview Patterns

Kadane’s Algorithm ⭐

Majority Element ⭐

Fast & Slow Pointer ⭐