Data Structures

# Topic Completed (%)
1 Introduction to Data Structures
2 Why Data Structures are Important
3 Types of Data Structures (Linear vs Non-Linear)
4 Arrays - Introduction
5 1D Arrays
6 2D Arrays & Multidimensional Arrays
7 Array Operations (Insert, Delete, Traverse, Search)
8 Dynamic Arrays
9 Strings - Introduction
10 String Operations (Concatenation, Substring, Reverse)
11 String Manipulation Problems
12 Pattern Matching (Naive, KMP, Rabin-Karp)
13 Linked Lists - Introduction
14 Singly Linked List
15 Doubly Linked List
16 Circular Linked List
17 Stacks - Introduction
18 Stack Implementation using Array
19 Stack Implementation using Linked List
20 Applications of Stacks (Parentheses Matching, Expression Evaluation)
21 Queues - Introduction
22 Simple Queue
23 Circular Queue
24 Priority Queue
25 Deque (Double Ended Queue)
26 Hashing - Introduction
27 Hash Functions
28 Collision Resolution Techniques
29 Open Addressing (Linear, Quadratic, Double Hashing)
30 Closed Addressing (Chaining)
31 Trees - Introduction
32 Binary Tree
33 Binary Search Tree (BST)
34 Tree Traversals (Inorder, Preorder, Postorder, Level Order)
35 Advanced Trees - Introduction
36 AVL Tree
37 Red-Black Tree
38 Segment Tree
39 Fenwick Tree (Binary Indexed Tree)
40 Heaps - Introduction
41 Min-Heap
42 Max-Heap
43 Heap Operations (Insert, Delete, Heapify)
44 Priority Queue using Heap
45 Graphs - Introduction
46 Graph Representation (Adjacency Matrix, Adjacency List)
47 Directed & Undirected Graphs
48 Weighted & Unweighted Graphs
49 Graph Traversal - BFS
50 Graph Traversal - DFS
51 Graph Algorithms - Dijkstra
52 Graph Algorithms - Bellman-Ford
53 Graph Algorithms - Floyd-Warshall
54 Graph Algorithms - Prim’s Algorithm
55 Graph Algorithms - Kruskal’s Algorithm
56 Graph Algorithms - Topological Sort
57 Trie - Introduction
58 Trie Operations (Insert, Search, Delete)
59 Applications of Tries (Autocomplete, Spell Checker)
60 Disjoint Set (Union-Find) - Introduction
61 Union by Rank
62 Path Compression
63 Applications of Disjoint Set
64 Advanced Data Structures - Skip List
65 Advanced Data Structures - Suffix Array
66 Advanced Data Structures - Suffix Tree
67 Balanced BST Variants (B-Trees, B+ Trees)
68 Big-O Analysis (Time Complexity)
69 Space Complexity
70 Amortized Analysis
71 Problem Solving Patterns - Sliding Window
72 Problem Solving Patterns - Two Pointers
73 Problem Solving Patterns - Recursion & Backtracking
74 Problem Solving Patterns - Divide & Conquer
75 Dynamic Programming - Introduction
76 Memoization
77 Tabulation
78 Common DP Problems (Knapsack, LIS, LCS)
79 Graph DP (DP on Trees, DP on DAGs)
80 Practice & Implementation (LeetCode, Codeforces, HackerRank, etc.)