《 Hello 算法 》

动画图解、一键运行的数据结构与算法教程

GitHub repo stars   GitHub all releases   GitHub contributors


推荐语

Quote

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

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

Quote

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

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


全书动画图解

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

"A picture is worth a thousand words."

“一图胜千言”


代码一键运行

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

"Talk is cheap. Show me the code."

“少吹牛,看代码”


可讨论与提问

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

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

一起加油!


两年前,我在力扣上分享了“剑指 Offer”系列题解,受到了许多同学的喜爱和支持。在与读者交流期间,我最常收到的一个问题是“如何入门算法”。逐渐地,我对这个问题产生了浓厚的兴趣。

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

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

我深深赞同费曼教授所言:“Knowledge isn't free. You have to pay attention.”从这个意义上看,这本书并非完全“免费”。为了不辜负你为本书所付出的宝贵“注意力”,我会尽我所能,投入最大的“注意力”来完成这本书的创作。

作者简介

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


致谢

本书在开源社区众多贡献者的共同努力下不断完善。感谢每一位投入时间与精力的撰稿人,他们是(按照 GitHub 自动生成的顺序排列):

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

Gonglja
Gonglja

C, C++
gvenusleo
gvenusleo

Dart
hpstory
hpstory

C#
justin-tse
justin-tse

JS, TS
krahets
krahets

Java, Python
night-cruise
night-cruise

Rust
nuomi1
nuomi1

Swift
Reanon
Reanon

Go, C
sjinzh
sjinzh

Rust, Zig
欢迎在评论区留下你的见解、疑惑或建议