# labuladong/fucking-algorithm architecture

> Architecture diagram of the GitHub repository labuladong/fucking-algorithm, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-28). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/labuladong/fucking-algorithm
- Repository: https://github.com/labuladong/fucking-algorithm

## Overview

This repository is a Chinese-language algorithm-learning library: its main workflow is for a learner to use the README’s study guidance and article index to find explanations, study reusable algorithm and data-structure ideas, and apply them to interview-style problems. Its runtime is curated Markdown, not an application. The README also describes a companion site, visualization, games, and editor/browser plugins; these are documented ecosystem capabilities, not implementations present in this tree, so their wiring is not inferred.

Main entry points: [`README.md`](https://github.com/labuladong/fucking-algorithm/blob/master/README.md) (Article index), [`技术/刷题技巧.md`](https://github.com/labuladong/fucking-algorithm/blob/master/%E6%8A%80%E6%9C%AF/%E5%88%B7%E9%A2%98%E6%8A%80%E5%B7%A7.md) (Study guidance), [`动态规划系列/README.md`](https://github.com/labuladong/fucking-algorithm/blob/master/%E5%8A%A8%E6%80%81%E8%A7%84%E5%88%92%E7%B3%BB%E5%88%97/README.md) (Dynamic programming), [`数据结构系列/README.md`](https://github.com/labuladong/fucking-algorithm/blob/master/%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E7%B3%BB%E5%88%97/README.md) (Data structures)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_guide["Learning guide"]
  node_index["Article index<br/>[README.md]"]
  node_study["Study guidance<br/>[刷题技巧.md]"]
end

subgraph group_foundations["Core concepts"]
  node_dp["Dynamic programming<br/>[README.md]"]
  node_structures["Data structures<br/>[README.md]"]
  node_thinking["Algorithm thinking<br/>[README.md]"]
end

subgraph group_practice["Problem practice"]
  node_interview["Interview problems<br/>[README.md]"]
  node_solutions["Language solutions<br/>[solution_code.md]"]
  node_onlinepractice["Online practice<br/>[在线练习平台.md]"]
end

subgraph group_ecosystem["Learning tools"]
  node_website["Learning website"]
  node_visualizer["Algorithm visualizer"]
  node_games["Algorithm games"]
  node_chrome["Chrome plugin"]
  node_vscode["VS Code plugin"]
  node_jetbrains["JetBrains plugin"]
end

node_learner(("Learner"))

node_learner -->|"opens"| node_index
node_learner -->|"uses"| node_study
node_index -->|"indexes"| node_dp
node_index -->|"indexes"| node_structures
node_index -->|"indexes"| node_thinking
node_index -->|"indexes"| node_interview
node_learner -->|"consults"| node_solutions
node_learner -->|"practices with"| node_onlinepractice
node_index -.->|"points to"| node_website
node_index -.->|"describes"| node_visualizer
node_index -.->|"describes"| node_games
node_index -.->|"describes"| node_chrome
node_index -.->|"describes"| node_vscode
node_index -.->|"describes"| node_jetbrains

click node_index "https://github.com/labuladong/fucking-algorithm/blob/master/README.md"
click node_study "https://github.com/labuladong/fucking-algorithm/blob/master/%E6%8A%80%E6%9C%AF/%E5%88%B7%E9%A2%98%E6%8A%80%E5%B7%A7.md"
click node_dp "https://github.com/labuladong/fucking-algorithm/blob/master/%E5%8A%A8%E6%80%81%E8%A7%84%E5%88%92%E7%B3%BB%E5%88%97/README.md"
click node_structures "https://github.com/labuladong/fucking-algorithm/blob/master/%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E7%B3%BB%E5%88%97/README.md"
click node_thinking "https://github.com/labuladong/fucking-algorithm/blob/master/%E7%AE%97%E6%B3%95%E6%80%9D%E7%BB%B4%E7%B3%BB%E5%88%97/README.md"
click node_interview "https://github.com/labuladong/fucking-algorithm/blob/master/%E9%AB%98%E9%A2%91%E9%9D%A2%E8%AF%95%E7%B3%BB%E5%88%97/README.md"
click node_solutions "https://github.com/labuladong/fucking-algorithm/blob/master/%E5%A4%9A%E8%AF%AD%E8%A8%80%E8%A7%A3%E6%B3%95%E4%BB%A3%E7%A0%81/solution_code.md"
click node_onlinepractice "https://github.com/labuladong/fucking-algorithm/blob/master/%E6%8A%80%E6%9C%AF/%E5%9C%A8%E7%BA%BF%E7%BB%83%E4%B9%A0%E5%B9%B3%E5%8F%B0.md"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_index,node_study toneBlue
class node_dp,node_structures,node_thinking toneAmber
class node_interview,node_solutions,node_onlinepractice toneMint
class node_website,node_visualizer,node_games,node_chrome,node_vscode,node_jetbrains toneRose
class node_learner toneIndigo
```

## Components

### Learning guide

- [Article index](https://github.com/labuladong/fucking-algorithm/blob/master/README.md): `README.md`
- [Study guidance](https://github.com/labuladong/fucking-algorithm/blob/master/%E6%8A%80%E6%9C%AF/%E5%88%B7%E9%A2%98%E6%8A%80%E5%B7%A7.md): `技术/刷题技巧.md`

### Core concepts

- [Dynamic programming](https://github.com/labuladong/fucking-algorithm/blob/master/%E5%8A%A8%E6%80%81%E8%A7%84%E5%88%92%E7%B3%BB%E5%88%97/README.md): `动态规划系列/README.md`
- [Data structures](https://github.com/labuladong/fucking-algorithm/blob/master/%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E7%B3%BB%E5%88%97/README.md): `数据结构系列/README.md`
- [Algorithm thinking](https://github.com/labuladong/fucking-algorithm/blob/master/%E7%AE%97%E6%B3%95%E6%80%9D%E7%BB%B4%E7%B3%BB%E5%88%97/README.md): `算法思维系列/README.md`

### Problem practice

- [Interview problems](https://github.com/labuladong/fucking-algorithm/blob/master/%E9%AB%98%E9%A2%91%E9%9D%A2%E8%AF%95%E7%B3%BB%E5%88%97/README.md): `高频面试系列/README.md`
- [Language solutions](https://github.com/labuladong/fucking-algorithm/blob/master/%E5%A4%9A%E8%AF%AD%E8%A8%80%E8%A7%A3%E6%B3%95%E4%BB%A3%E7%A0%81/solution_code.md): `多语言解法代码/solution_code.md`
- [Online practice](https://github.com/labuladong/fucking-algorithm/blob/master/%E6%8A%80%E6%9C%AF/%E5%9C%A8%E7%BA%BF%E7%BB%83%E4%B9%A0%E5%B9%B3%E5%8F%B0.md): `技术/在线练习平台.md`

### Learning tools

- **Learning website**
- **Algorithm visualizer**
- **Algorithm games**
- **Chrome plugin**
- **VS Code plugin**
- **JetBrains plugin**

### Other components

- **Learner**

## Connections

- Learner → Article index: opens
- Learner → Study guidance: uses
- Article index → Dynamic programming: indexes
- Article index → Data structures: indexes
- Article index → Algorithm thinking: indexes
- Article index → Interview problems: indexes
- Learner → Language solutions: consults
- Learner → Online practice: practices with
- Article index → Learning website: points to
- Article index → Algorithm visualizer: describes
- Article index → Algorithm games: describes
- Article index → Chrome plugin: describes
- Article index → VS Code plugin: describes
- Article index → JetBrains plugin: describes
