DSA Syllabus
Syllabus
Section titled “Syllabus”| Topic | Subtopics / 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 |