Skip to content

DSA Syllabus

TopicSubtopics / What to Cover
Introduction to DSA

Abstract Data Type ⭐

Why DSA

DSA vs Programming

Time & Space Complexity

Asymptotic notations (O, Ω, Θ) ⭐

Best/Average/Worst case ⭐

Recurrence relations

Arrays

Representation ⭐

Operations ⭐

Applications

Strings

Representation ⭐

String operations

Recursion

Concept ⭐

Recursive tree ⭐

Tail vs non-tail recursion

Linked List

Singly Linked List ⭐

Doubly Linked List

Circular Linked List

Stack

Stack operations ⭐

Applications ⭐

Queue

Simple Queue ⭐

Circular Queue ⭐

Priority Queue ⭐

Deque

Input-restricted

Output-restricted

Searching

Linear Search

Binary Search ⭐

Sorting

Bubble, Selection, Insertion

Merge Sort ⭐

Quick Sort ⭐

Heap Sort ⭐

Hashing

Hash function ⭐

Collision handling ⭐

Trees

Binary Tree ⭐

Binary Search Tree ⭐

Tree Traversals

Inorder ⭐

Preorder ⭐

Postorder ⭐

Heaps

Min Heap ⭐

Max Heap ⭐

Graphs

Graph representation ⭐

BFS ⭐

DFS ⭐

Graph Algorithms

Shortest path ⭐

Minimum spanning tree ⭐

Greedy Algorithms

Activity selection ⭐

Huffman coding

Dynamic Programming

Optimal substructure ⭐

Overlapping subproblems ⭐

Backtracking

N-Queens ⭐

Subset generation

Amortized Analysis

Aggregate method

Accounting method

Advanced Topics (Intro)

Trie

Segment Tree