Article 3

%%{init: {'theme':'dark'}}%%
flowchart TD
    A(Arrays & Hashing) ===> B(Two Pointers)
    A ==> C(Stack)
    B ===> D(Binary Search)
    B ===> E(Sliding Window)
    B ===> F(Linked List)
    D ===> G(Trees)
    F ===> G
    G ===> H(Tries)
    G ===> I(Heap / Priority Queue)
    G ===> J(Backtracking)
    I ===> K(Intervals)
    I ===> L(Greedy)
    I ===> M(Advanced Graphs)
    J ===> N(Graphs)
    J ===> O(1 - D DP)
    N ===> M
    N ===> P(Math & Geometry)
    N ===> Q(2 - D DP)
    O ===> Q
    O ===> R(Bit Manipulation)
    R ===> P(Math & Geometry)