Skip Lists: Layered Linked Lists for Fast Search
Understand skip lists as probabilistic alternatives to balanced trees, providing O(log n) search with simple implementation and lock-free variants.
Understand skip lists as probabilistic alternatives to balanced trees, providing O(log n) search with simple implementation and lock-free variants.
Solve maximum subarray, longest substring, and subarray average problems with O(n) time using the sliding window technique.
Compare all major sorting algorithms by time complexity, space usage, stability, and practical use cases.
Master LIFO, FIFO, and double-ended queue operations with implementations, time complexity analysis, and practical applications.
Find strongly connected components in directed graphs using DFS-based Tarjan's algorithm with lowlink values.
Learn topological sorting using DFS and Kahn's algorithm for dependency resolution in directed acyclic graphs.
Master trie data structure for prefix matching, autocomplete, and efficient string operations with O(m) complexity where m is key length.
Master the two pointers technique for O(1) space complexity solutions to array problems like pair sum, palindrome check, and triplet finding.
Master union-find with path compression and union by rank for efficient set operations used in Kruskal's MST and connected components.
Compare centralized (SVN, CVS) vs distributed (Git, Mercurial) version control systems — their architectures, trade-offs, and when to use each approach.