Greedy Algorithms: Making Locally Optimal Choices
Learn when greedy algorithms work, how to prove correctness using exchange arguments, and common greedy patterns.
Learn when greedy algorithms work, how to prove correctness using exchange arguments, and common greedy patterns.
Master hash table fundamentals, collision handling, load factor, and practical applications of hash sets and maps.
Master heap data structure, heap operations, priority queue implementation, and heap sort with binary and Fibonacci heap variants.
Deep dive into each major sorting algorithm with implementations, complexity analysis, and when to use each.
Master the 0/1, unbounded, and fractional knapsack variants with DP solutions and optimization techniques for resource allocation problems.
Find strongly connected components using the two-pass Kosaraju's algorithm with graph transpose and DFS finishing times.
Learn Kruskal's algorithm for finding minimum spanning trees in weighted graphs using union-find data structures.
Compare linear and binary search algorithms, understand when to use each variant, and master binary search for production systems.
Master linked list operations including insertion, deletion, reversal, cycle detection, and knowing when to use singly, doubly, or circular variants.
Master the classic DP problem for string similarity, diff tools, and bioinformatics with O(mn) time and space optimization techniques.