Files
hello-algo/en

hello-algo-typing-svg
A data structures and algorithms tutorial with animated illustrations and code you can run with one click

Python Java C++ C C# JavaScript Go Swift Rust Ruby Kotlin TypeScript Dart

简体中文 | 繁體中文 | English | 日本語 | Русский | 한국어

About this book

This project aims to create a free, open-source introduction to data structures and algorithms that is accessible to beginners.

  • Animated illustrations throughout the book, clear explanations, and a gradual learning curve guide beginners through data structures and algorithms.
  • Code that runs with one click helps readers build programming skills through practice and understand how algorithms work and how data structures are implemented.
  • Readers are encouraged to learn together. Ask questions and share insights in the comments so everyone can benefit from the discussion.

If you find this book helpful, please support it by clicking Star ⭐ at the top right of the page. Thank you!

Endorsements

“An accessible introduction to data structures and algorithms that encourages readers to learn by thinking and doing. Highly recommended for anyone new to algorithms.”

— Junhui Deng, Professor, Department of Computer Science, Tsinghua University

“If I had had Hello Algo when I was learning data structures and algorithms, it would have been ten times easier!”

— Mu Li, Senior Principal Scientist, Amazon

Contributing

This open-source book is continually being updated. You are welcome to join the project and help improve the learning material for readers.

  • Content corrections: Help fix or report grammatical errors, missing content, ambiguous wording, broken links, and code bugs in the comments.
  • Code ports: Contributions in different programming languages are welcome. The book supports 12 languages, including Python, Java, C++, Go, and JavaScript.
  • Translation and review: Help translate and proofread the book so more readers can learn data structures and algorithms in their own language.

Feedback and suggestions are welcome. If you have questions, open an issue or contact krahets-jyd on WeChat.

Thank you to everyone who has contributed to this open-source book. Their generous efforts have made it better:

License

The texts, code, images, photos, and videos in this repository are licensed under CC BY-NC-SA 4.0.