Topics Algorithmic complexity / Big-O / Asymptotic analysis Data Structures Arrays Linked Lists Stack Queue Hash Table Trie, Radix Tree Advanced Data Structures Bloom Filter Skip List Trees Binary Search Tree Heap / Priority Queue / Binary Heap Balanced Search Trees (BSTs) Traversals: preorder, inorder, postorder Graphs Directed/Undirected, Weighted/Unweighted, Cyclic/Acyclic, Sparse/Dense Adjacency matrix, Adjacency list Traversals: BFS, DFS Topological Sort Union-Find (Disjoint set) Eulerian Path Backtracking Combination Permutation Sorting Algorithms Selection Insertion Heapsort Quicksort Merge Sort Radix Sort, Bucket Sort Dynamic Programming 0-1 Knapsack Problem Longest Increasing Subsequence (Patience sorting -> nlogn) Longest Common Subsequence Longest Common Substring Maximum Subarray (Kadane’s Algorithm) Regular Expression String searching & manipulations OOP Design Patterns Testing