Arrays Array Fundamentals: Introduction to arrays, memory layout Traversal & Operations: Accessing, inserting, deleting elements
Problem-Solving Patterns: Prefix sum, frequency counting
Optimization Techniques: Time & space complexity analysis
Interview Problems: Subarrays, maximum/minimum problems
 Bit Manipulation Bitwise Basics: AND, OR, XOR, NOT Bit Operations: Left shift, right shift
Problem Patterns: Checking odd/even, counting set bits
Optimization Use Cases: Space and performance optimization
Interview Problems: Single number, power of two
 Searching & Sorting Linear & Binary Search: Search techniques and applications Sorting Algorithms: Bubble, Selection, Insertion
Efficient Sorting: Merge sort, Quick sort
Comparison Analysis: Stability, in-place vs extra space
Interview Problems: Search space optimization
 Recursion & Backtracking Recursion Basics: Function calls and call stack Recursive Patterns: Divide and conquer
Backtracking Concepts: Decision trees
Classic Problems: Subsets, permutations, combinations
Optimization: Avoiding redundant calls
 Hashing Hashing Fundamentals: Hash functions and hash tables Data Structures: HashMap / Dictionary
Collision Handling: Chaining, probing
Problem-Solving Patterns: Frequency maps, lookup optimization
Interview Problems: Two-sum, anagrams
 Stacks Stack Fundamentals: LIFO principle Stack Operations: Push, pop, peek
Implementation: Stack using arrays and linked lists
Problem Patterns: Expression evaluation, monotonic stack
Interview Problems: Valid parentheses, next greater element
 Queues  Queue Fundamentals: FIFO principle Queue Variants: Circular queue, deque
Implementation: Queue using arrays and linked lists
Problem Patterns: Sliding window
Interview Problems: Queue-based simulations
 Linked Lists Linked List Basics: Singly and doubly linked lists Operations: Insert, delete, reverse
Pointer Techniques: Slow & fast pointer
Problem Patterns: Cycle detection
Interview Problems: Merge lists, reverse in groups
 TreesTree Fundamentals: Tree terminology Binary Trees: Traversals (Inorder, Preorder, Postorder)
Binary Search Trees: BST properties and operations
Tree Algorithms: Height, diameter, lowest common ancestor
Interview Problems: Path-based problems
 Heaps Heap Fundamentals: Min heap and max heap Heap Operations: Insert, delete, heapify
Priority Queue: Heap-based priority queues
Problem Patterns: Top-K problems
Interview Problems: Kth largest element
 Greedy Programming Greedy Strategy: Making locally optimal choices Problem Identification: When greedy works
Classic Problems: Activity selection, interval scheduling
Proof Techniques: Greedy correctness
Interview Problems: Job sequencing
 Dynamic Programming DP Fundamentals: Overlapping subproblems DP Techniques: Memoization, tabulation
1D DP: Fibonacci, climbing stairs
2D DP: Knapsack, LCS
Optimization: Space optimization techniques
 Graphs Graph Fundamentals: Graph representations Traversals: BFS, DFS
Directed & Undirected Graphs: Cycles, connectivity
Algorithms: Topological sort
Interview Problems: Shortest path basics
 |