# 《 Hello 算法 》

动画图解、能运行、可提问的数据结构与算法快速入门教程

###### @Krahets

## 推荐语

Quote

“一本通俗易懂的数据结构与算法入门书，引导读者手脑并用地学习，强烈推荐算法初学者阅读。”

—— 邓俊辉，清华大学计算机系教授

Quote

“如果我当年学数据结构与算法的时候有《Hello 算法》，学起来应该会简单 10 倍！”

—— 李沐，亚马逊资深首席科学家

### 「全书动画图解」

内容清晰易懂、学习曲线平滑电脑、平板、手机全终端阅读

"A picture is worth a thousand words."

“一图胜千言”

### 「代码一键运行」

提供各个算法与数据结构的简洁实现与测试样例，皆可直接运行支持 Java, C++, Python, Go, JS, TS, C#, Swift, Zig 等语言

"Talk is cheap. Show me the code."

“少吹牛，看代码”

### 「可讨论与提问」

鼓励小伙伴们互帮互助、共同成长提问与评论一般能在两日内得到回复

“追风赶月莫停留，平芜尽处是春山”

一起加油！

## 序

两年前，我在力扣上分享了《剑指 Offer》系列题解，受到了许多朋友的喜爱与支持。在此期间，我回答了众多读者的评论问题，其中最常见的一个问题是“如何入门学习算法”。我逐渐也对这个问题产生了浓厚的兴趣。

两眼一抹黑地刷题似乎是最受欢迎的方法，简单直接且有效。然而，刷题就如同玩“扫雷”游戏，自学能力强的同学能够顺利地将地雷逐个排掉，而基础不足的同学很可能被炸的满头是包，并在挫折中步步退缩。通读教材书籍也是一种常见做法，但对于面向求职的同学来说，毕业季、投递简历、准备笔试面试已经占据了大部分精力，厚重的书籍往往变成了一项艰巨的挑战。

如果你也面临类似的困扰，那么很幸运这本书找到了你。本书是我对此问题的给出的答案，虽然不一定正确，但至少是一次积极的尝试。这本书虽然不足以让你直接拿到 Offer ，但会引导你探索数据结构与算法的“知识地图”，带你了解不同“地雷”的形状大小和分布位置，让你掌握各种“排雷方法”。有了这些本领，相信你可以更加自如地应对刷题和阅读文献，逐步构建起完整的知识体系。

### 作者简介

靳宇栋 (Krahets)，大厂高级算法工程师，上海交通大学硕士。力扣（LeetCode）全网阅读量最高博主，其 LeetBook《图解算法数据结构》已被订阅 22 万本。

## 致谢

本书在开源社区众多贡献者的共同努力下不断成长。感谢每一位投入时间与精力的撰稿人，是他们无私奉献使这本书越变越好，他们是（按照 GitHub 自动生成的顺序排列）：

本书的代码审阅工作由 Gonglja, justin‐tse, krahets, nuomi1, Reanon, sjinzh 完成（按照首字母顺序排列）。感谢他们付出的时间与精力，正是他们确保了各语言代码的规范与统一。

Gonglja C / C++ | justin-tse JS / TS | krahets Java / Python | nuomi1 Swift | Reanon Go / C | sjinzh Rust / Zig

## 评论