flowchart TD
    A0[数据结构与算法]
    
    %% 第一层:基础数据结构
    A0 --> A1[数组]
    A0 --> A2[链表]
    
    %% 数组分支
    A1 --> A1_1[数组操作]
    A1_1 --> A1_1a[前缀和]
    A1_1 --> A1_1b[差分数组]
    A1_1 --> A1_1c[二维数组]
    
    A1_1 --> A1_2[双指针技巧]
    A1_2 --> A1_2a[数组双指针]
    A1_2 --> A1_2b[滑动窗口]
    A1_2 --> A1_2c[二分搜索]
    A1_2 --> A1_2d[随机算法]
    
    %% 链表分支
    A2 --> A2_1[链表双指针]
    A2 --> A2_2[基础数据结构]
    A2_2 --> A2_2a[循环数组]
    A2_2 --> A2_2b[栈与队列]
    A2_2 --> A2_2c[哈希]
    A2_2 --> A2_2d[设计]
    
    A2_1 --> A2_3[递归]
    A2_3 --> A2_4[二叉树]
    
    %% 二叉树分支
    A2_4 --> A2_4a[递归遍历]
    A2_4 --> A2_4b[层序遍历]
    A2_4 --> A2_4c[高级数据结构]
    
    %% 高级数据结构
    A2_4c --> A2_4c1[二叉搜索树]
    A2_4c --> A2_4c2[堆]
    A2_4c --> A2_4c3[字典树]
    A2_4c --> A2_4c4[图]
    
    %% 遍历视角
    A2_4a --> A3_1[遍历视角]
    A3_1 --> A3_1a[回溯算法]
    A3_1 --> A3_1b[深度优先搜索]
    
    %% 子问题视角
    A2_4a --> A3_2[子问题视角]
    A3_2 --> A3_2a[分治算法]
    A3_2 --> A3_2b[动态规划]
    
    %% 广度优先搜索分支
    A2_4b --> A3_3[广度优先搜索]
    A3_3 --> A3_3a[最短路径]
    
    %% 其他算法
    A1_2 --> A4[其他算法]
    A4 --> A4a[数学]
    A4 --> A4b[贪心算法]

    %% 样式分类
    classDef green fill:#9ae6b4,stroke:#38a169,stroke-width:2px
    classDef yellow fill:#faf089,stroke:#d69e2e,stroke-width:2px
    classDef red fill:#feb2b2,stroke:#e53e3e,stroke-width:2px
    
    class A0,A1,A2,A1_1a,A1_1b,A1_1c,A1_2a,A2_1,A2_2a,A2_2b green
    class A2_3,A2_4,A1_2b,A1_2c,A1_2d,A2_2c,A2_2d,A2_4c1,A2_4c2,A2_4c3,A4a,A4b yellow
    class A2_4a,A2_4b,A3_1a,A3_1b,A3_2a,A3_2b,A3_3,A3_3a,A2_4c4 red