krahets/hello-algo
A free, illustrated data-structures-and-algorithms textbook — animated diagrams, runnable examples in 13 languages, and four-language (Chinese/English/Japanese) translations.
What it is
A book-format introduction to data structures and algorithms with three differentiators: every concept has an animated visual diagram, every algorithm has one-click runnable code in 13 programming languages (Python, Java, C++, C, C#, JS, TS, Go, Swift, Rust, Ruby, Kotlin, Dart), and the book is freely readable on hello-algo.com. Originally a Chinese-language project; now translated into English, Traditional Chinese, and Japanese. Has become the canonical "I want to learn algorithms with great visuals" recommendation among Chinese-speaking learners.
Key features
- Animated diagrams for every data structure and algorithm — the book's defining identity.
- Code examples in 13 languages, with parallel implementations of every algorithm.
- One-click run via the companion site (online code execution).
- Four-language documentation (Simplified Chinese, Traditional Chinese, English, Japanese).
- LeetCode-style problem mappings — each chapter ties to relevant practice problems.
- Distributed as a free-to-read web book at hello-algo.com.
Tech stack
- Java listed as primary at the language tag, but the corpus has equivalent implementations in Python, C++, C, C#, JS, TS, Go, Swift, Rust, Ruby, Kotlin, and Dart.
- Markdown content + MkDocs-style site generation.
- VuePress or similar for the companion site.
When to reach for it
- You're learning DSA and prefer visual + multi-language examples over a single-language textbook.
- You're a polyglot — being able to see the same algorithm in 13 languages reinforces the concept independent of syntax.
- You're a Chinese-speaking learner who wants high-quality, free, modern DSA material.
When not to reach for it
- You want extreme rigor with proofs — this is intro-friendly; CLRS or "Algorithms" by Sedgewick are closer-fit for proof-based depth.
- You want competitive-programming patterns — the book covers fundamentals; sites like Codeforces or competitive-programmer's-handbook are better for contest prep.
- You want license-clean redistribution — SPDX is
NOASSERTION; verify LICENSE file before commercial reuse.
Maturity signal
126k stars, 15k forks, last push April 2026 — actively maintained. 3-year-old project under a single primary author (krahets) with translation and code-implementation contributors. The 37 open-issues count is unusually low for the scope and signals a tightly-curated project. Translation breadth + multi-language code parity are the strongest differentiators among free DSA books.
Alternatives
- "Algorithms" (Sedgewick + Wayne) — use when you want a single-language (Java) textbook with proofs.
TheAlgorithms/Python/trekhleb/javascript-algorithms— use when you want code-first reference implementations without textbook narrative.donnemartin/system-design-primer— use for system design specifically (this book is DSA).
Notes
The "animated diagrams" claim is real and unusual — most DSA books have static figures; hello-algo's diagrams are animated SVG/CSS. License absence is the recurring gotcha; verify the LICENSE before vendoring or commercial use. The translation track quality is unusually consistent across the four supported languages.
Tags
awesome-list, education, algorithms, data-structures, learn-to-code, multilingual, chinese, japanese, leetcode, book