krahets/hello-algo
《Hello 算法》:动画图解、一键运行的数据结构与算法教程。支持简中、繁中、English、日本語,提供 Python, Java, C++, C, C#, JS, Go, Swift, Rust, Ruby, Kotlin, TS, Dart 等代码实现
How hello-algo is put together
hello-algo is an open-source, animated data-structures-and-algorithms tutorial book published as a static documentation site (MkDocs-based, deployed at hello-algo.com) with runnable example code in 13+ programming languages. The repo is organized as a multilingual book root (zh-hant/, en/, ja/, ru/) plus a codes/ tree where each language (python, java, cpp, c, csharp, javascript, go, swift, rust, ruby, kotlin, typescript, dart, zig) mirrors the same chapter_* directory structure (arrays, trees, hashing, sorting, dynamic programming, etc.). There is no server, database, or runtime service; 'data flow' is limited to Markdown sources rendered by MkDocs into a static site, with code snippets executed locally or via the provided Docker setup.
Languages
Frameworks
Infrastructure
Major components
Book content & i18n roots
Markdown chapters of the tutorial duplicated/localized across zh-hant/, en/, ja/, ru/ roots, each with its own README.md and mkdocs.yml.
codes/ multi-language examples
Runnable algorithm implementations organized as chapter_* directories replicated per language (chapter_array_and_linkedlist, chapter_tree, chapter_hashing, chapter_sorting, chapter_dynamic_programming, chapter_backtracking, chapter_graph, etc.).
Shared C utilities
codes/c/utils provides common.h, print_util.h, list_node.h, tree_node.h, vertex.h, vector.h and a vendored uthash.h used by all C chapter programs.
Per-language test runners
test_all.py (Python), test_all.js (JavaScript), test_all.rb (Ruby) batch-execute every example file in that language to verify it runs.
Documentation site configuration
mkdocs.yml files plus overrides/ (main.html, partials, stylesheets, katex.js/mathjax.js/starfield.js) define site nav, theming, math rendering, and giscus comments.
Rust binary-per-example workspace
codes/rust/Cargo.toml declares dozens of [[bin]] targets so each algorithm example runs standalone via cargo run --bin <name>.
Local run environment
Root and per-language Dockerfile/docker-compose.yml let readers execute the code samples without installing toolchains.
Community & licensing assets
giscus.json, LICENSE (CC BY-NC-SA 4.0), CONTRIBUTING.md, and translated READMEs govern contributions and reuse.
Practice exercises were expanded to cover multiple programming languages, alongside typo fixes in the multilingual content.
The past two weeks of work focused on polishing the project's presentation and expanding its learning materials. In late August, the team added practice exercises in multiple programming languages and cleaned up typos across translated content. The prior week's efforts were more about the site's look and feel, refining sponsor cards, callout backgrounds, and removing a sponsorship.
Week by week
2026-08-17Practice exercises were expanded to cover multiple programming languages, alongside typo fixes in the multilingual content.latest2 changes
Feature
Multilingual exercise code added
New practice exercises are now available written in several different programming languages.
Fix
Multilingual typos corrected
Small spelling and wording mistakes were fixed throughout the translated text.
2026-07-20This week was all about visual cleanup, with changes to sponsor displays and callout styling on the website.3 changes
Chore
Warp sponsorship removed
The Warp company sponsorship was taken down from the site.
Refactor
Endorsement cards refined
The cards that show community endorsements got a visual polish at the same time.
Docs
Callout backgrounds improved
The highlighted callout boxes used to emphasize notes and tips received better background colors for readability.
Dependencies and code review
Dependency advisories
Security Watch
No known advisories across 0 scanned dependencies.
No known advisories in the scanned dependencies.
Code review
No concrete code-level issues confirmed.
Get this report every week for your repos.
GitZoid learns each repo, reports what changed, and flags what needs attention. One flat price for the whole team.
$19 a month, flat · First 10 outputs free · No card required