Binary Trees and Binary Search Trees: Hierarchical Data
Master tree traversal (inorder, preorder, postorder), BST operations, and when trees outperform other data structures.
Master tree traversal (inorder, preorder, postorder), BST operations, and when trees outperform other data structures.
Master bitwise operations for flag handling, number tricks, bit counting, and interview problems involving O(1) space arithmetic.
Master the essential patterns—sliding window, two pointers, fast-slow pointers—that solve 80% of linked list and array problems.
Understand non-comparison sorting algorithms that achieve O(n+k) time complexity by exploiting known bounds on input values.
Explore search algorithm variants: depth-limited search for bounded recursion, and bidirectional search for O(b^d/2) complexity improvement.
Learn depth-limited search (DLS) for handling infinite state spaces with a depth bound, and how it relates to iterative deepening.
Master Dijkstra's algorithm for single-source shortest path problems in weighted graphs with positive edges, including implementations and trade-offs.
Master the divide and conquer paradigm with classic examples like merge sort, quicksort, and binary search.
Apply dynamic programming to tree and graph structures using DFS-based state propagation for optimal subtree and path calculations.
Learn how to identify optimal substructure, define DP state variables, and formulate recurrence relations correctly.