<p align="center">
  <a href="https://www.hello-algo.com/en/">
    <img src="https://www.hello-algo.com/en/index.assets/hello_algo_header.png" width="450"></a>
</p>

<p align="center">
  <img src="https://readme-typing-svg.demolab.com?font=Noto+Sans+SC&weight=500&duration=3500&pause=2000&color=21C8B8&center=true&vCenter=true&random=false&width=200&lines=Hello%2C+Algo+!" alt="hello-algo-typing-svg" />
  </br>
  Data Structures and Algorithms Crash Course with Animated Illustrations and Off-the-Shelf Code
</p>

<p align="center">
  <a href="https://www.hello-algo.com/en/">
    <img src="https://www.hello-algo.com/en/index.assets/btn_read_online_dark.svg" width="120"></a>
  <a href="https://github.com/krahets/hello-algo/releases">
    <img src="https://www.hello-algo.com/en/index.assets/btn_download_pdf_dark.svg" width="120"></a>
  <a href="https://github.com/krahets/hello-algo">
    <img src="https://www.hello-algo.com/en/index.assets/btn_chinese_edition_dark.svg" width="120"></a>
</p>

<p align="center">
  <img src="https://www.hello-algo.com/en/index.assets/animation.gif" width="396">
  <img src="https://www.hello-algo.com/en/index.assets/running_code.gif" width="396">
</p>

<p align="center">
  <img src="https://img.shields.io/badge/Python-snow?logo=python&logoColor=3776AB">
  <img src="https://img.shields.io/badge/C%2B%2B-snow?logo=c%2B%2B&logoColor=00599C">
  <img src="https://img.shields.io/badge/Java-snow?logo=coffeescript&logoColor=FC4C02">
  <img src="https://img.shields.io/badge/C%23-snow?logo=csharp&logoColor=512BD4">
  <img src="https://img.shields.io/badge/Go-snow?logo=go&logoColor=00ADD8">
  <img src="https://img.shields.io/badge/Swift-snow?logo=swift&logoColor=F05138">
  <img src="https://img.shields.io/badge/JavaScript-snow?logo=javascript&logoColor=E9CE30">
  <img src="https://img.shields.io/badge/TypeScript-snow?logo=typescript&logoColor=3178C6">
  <img src="https://img.shields.io/badge/Dart-snow?logo=dart&logoColor=0175C2">
  <img src="https://img.shields.io/badge/Rust-snow?logo=rust&logoColor=000000">
  <img src="https://img.shields.io/badge/C-snow?logo=c&logoColor=A8B9CC">
  <img src="https://img.shields.io/badge/Zig-snow?logo=zig&logoColor=F7A41D">
  <img src="https://img.shields.io/badge/Stay%20Tuned-snow">
</p>

> [!Important]
>
> We are working on Chinese-to-English translation. For more information please see [#914](https://github.com/krahets/hello-algo/issues/914).

## About

This open-source project aims to create a free and beginner-friendly crash course for data structures and algorithms.

- Animated illustrations, easy-to-understand content, and a smooth learning curve help beginners explore the "knowledge map" of data structures and algorithms.
- Run code with just one click, helping readers improve their programming skills and understand the working principle of algorithms and the underlying implementation of data structures.
- We encourage readers to help each other. Questions and comments are usually replied to within two days.

If you find this book helpful, please give it a Star :star: to support us, thank you!

## Endorsements

> "An easy-to-understand book on data structures and algorithms, which guides readers to learn by minds-on and hands-on. Strongly recommended for algorithm beginners!"
>
> **—— Junhui Deng, Professor of Computer Science, Tsinghua University**

> "If I had 'Hello Algo' when I was learning data structures and algorithms, it would have been 10 times easier!"
>
> **—— Mu Li, Senior Principal Scientist, Amazon**

## Contribution

This open-source book is continuously being updated, and we welcome your participation in this project to provide better learning content for readers.

- [Content Correction](https://www.hello-algo.com/en/chapter_appendix/contribution/): Please help us correct or point out mistakes in the comments section such as grammatical errors, missing content, ambiguities, invalid links, or code bugs.
- [Code Transpilation](https://github.com/krahets/hello-algo/issues/15): We look forward to your contributions in various programming languages. We currently support 12 languages including Python, Java, C++, Go, and JavaScript.
- [Chinese-to-English](https://github.com/krahets/hello-algo/issues/914): We would love to invite you to join our translation team. The members are mainly from computer-science-related fields, English majors, and native English speakers.

We welcome your valuable suggestions and feedback. If you have any questions, please submit Issues or reach out via WeChat: `krahets-jyd`.

We would like to dedicate our thanks to all the contributors of this book. It is their selfless dedication that has made this book better. They are:

<p align="left">
    <a href="https://github.com/krahets/hello-algo/graphs/contributors">
        <img width="550" src="https://contrib.rocks/image?repo=krahets/hello-algo" />
    </a>
</p>

## License

The texts, code, images, photos, and videos in this repository are licensed under [CC BY-NC-SA-4.0](https://creativecommons.org/licenses/by-nc-sa/4.0/).
