Algorithms
Master the essential algorithms that power efficient solutions. Understanding these techniques is key to solving complex problems under time constraints in technical interviews.
Sorting Algorithms
O(n log n) average
Learn various sorting techniques and their trade-offs.
Key Techniques:
- •Quick Sort
 - •Merge Sort
 - •Heap Sort
 - •Counting Sort
 - •Radix Sort
 
Detailed Guides:
Quick Sort →Searching Algorithms
O(log n) to O(n)
Master efficient search techniques for different scenarios.
Key Techniques:
- •Binary Search
 - •Linear Search
 - •DFS
 - •BFS
 - •A* Search
 
Dynamic Programming
Varies by problem
Solve complex problems by breaking them into subproblems.
Key Techniques:
- •Memoization
 - •Tabulation
 - •LCS
 - •Knapsack
 - •DP on Trees
 
Greedy Algorithms
O(n log n) typical
Make locally optimal choices for global optimization.
Key Techniques:
- •Activity Selection
 - •Huffman Coding
 - •Interval Scheduling
 
Backtracking
Exponential
Explore all possible solutions systematically.
Key Techniques:
- •N-Queens
 - •Sudoku Solver
 - •Permutations
 - •Combinations
 
Divide & Conquer
O(n log n) typical
Break problems into smaller subproblems recursively.
Key Techniques:
- •Merge Sort
 - •Quick Sort
 - •Binary Search
 - •Karatsuba
 
Graph Algorithms
O(E log V) typical
Solve problems involving graphs and networks.
Key Techniques:
- •Dijkstra
 - •Bellman-Ford
 - •Floyd-Warshall
 - •Kruskal
 - •Prim
 
String Algorithms
O(n + m) typical
Efficient algorithms for string manipulation and matching.
Key Techniques:
- •KMP
 - •Rabin-Karp
 - •Z-Algorithm
 - •Suffix Arrays
 
Bit Manipulation
O(1) to O(n)
Use bitwise operations for efficient computation.
Key Techniques:
- •AND, OR, XOR
 - •Bit Masks
 - •Power of 2
 - •Count Set Bits