Floyd-Warshall Algorithm: All-Pairs Shortest Paths
Master the Floyd-Warshall algorithm for finding shortest paths between all pairs of vertices in weighted graphs, with implementation examples and trade-offs.
Master the Floyd-Warshall algorithm for finding shortest paths between all pairs of vertices in weighted graphs, with implementation examples and trade-offs.
Master graph representations (adjacency list and matrix), BFS, DFS, and when to use each representation.
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.