《 Hello 算法 》
动画图解、一键运行的数据结构与算法教程
Quote
“一本通俗易懂的数据结构与算法入门书,引导读者手脑并用地学习,强烈推荐算法初学者阅读。”
—— 邓俊辉,清华大学计算机系教授
Quote
“如果我当年学数据结构与算法的时候有《Hello 算法》,学起来应该会简单 10 倍!”
—— 李沐,亚马逊资深首席科学家
动画图解
内容清晰易懂学习曲线平滑
"A picture is worth a thousand words."
“一图胜千言”
一键运行
十余种编程语言代码可直接运行
"Talk is cheap. Show me the code."
“少吹牛,看代码”
互助学习
欢迎讨论与提问读者间携手共进
"追风赶月莫停留"
“平芜尽处是春山”
序
两年前,我在力扣上分享了“剑指 Offer”系列题解,受到了许多同学的喜爱和支持。在与读者交流期间,我最常收到的一个问题是“如何入门算法”。逐渐地,我对这个问题产生了浓厚的兴趣。
两眼一抹黑地刷题似乎是最受欢迎的方法,简单直接且有效。然而刷题就如同玩“扫雷”游戏,自学能力强的同学能够顺利将地雷逐个排掉,而基础不足的同学很可能被炸得满头是包,并在挫折中步步退缩。通读教材也是一种常见做法,但对于面向求职的同学来说,毕业季、投递简历、准备笔试面试已经消耗了大部分精力,啃厚重的书往往变成了一项艰巨的挑战。
如果你也面临类似的困扰,那么很幸运这本书找到了你。本书是我对这个问题给出的答案,即使不是最优解,也至少是一次积极的尝试。本书虽然不足以让你直接拿到 Offer ,但会引导你探索数据结构与算法的“知识地图”,带你了解不同“地雷”的形状、大小和分布位置,让你掌握各种“排雷方法”。有了这些本领,相信你可以更加自如地刷题和阅读文献,逐步构建起完整的知识体系。
我深深赞同费曼教授所言:“Knowledge isn't free. You have to pay attention.”从这个意义上看,这本书并非完全“免费”。为了不辜负你为本书所付出的宝贵“注意力”,我会尽我所能,投入最大的“注意力”来完成这本书的创作。
作者
靳宇栋 (Krahets),大厂高级算法工程师,上海交通大学硕士。力扣(LeetCode)全网阅读量最高博主,发表的《图解算法数据结构》已被订阅 30 万本。
贡献
本书在开源社区众多贡献者的共同努力下不断完善。感谢每一位投入时间与精力的撰稿人,他们是(按照 GitHub 自动生成的顺序排列):
本书的代码审阅工作由 codingonion、Gonglja、gvenusleo、hpstory、justin-tse、krahets、night-cruise、nuomi1 和 Reanon 完成(按照首字母顺序排列)。感谢他们付出的时间与精力,正是他们确保了各语言代码的规范与统一。
codingonionRust, Zig | GongljaC, C++ | gvenusleoDart | hpstoryC# | justin-tseJS, TS | krahetsJava, Python | night-cruiseRust | nuomi1Swift | ReanonGo, C |