基本信息
文件名称:Hello算法(C语言版) (靳宇栋) (Z-Library).pdf
文件大小:17.63 MB
总页数:390 页
更新时间:2025-10-01
总字数:约33.47万字
文档摘要

Hello算法

C语言版

作者:靳宇栋(@krahets)

代码审阅:宫兰景(@Gonglja)

Release1.0.0

2024?02?09

两年前,我在力扣上分享了“剑指Offer”系列题解,受到了许多读者的鼓励和支持。在与读者交流期间,我

最常被问的一个问题是“如何入门算法”。逐渐地,我对这个问题产生了浓厚的兴趣。

两眼一抹黑地刷题似乎是最受欢迎的方法,简单、直接且有效。然而刷题就如同玩“扫雷”游戏,自学能力

强的人能够顺利将地雷逐个排掉,而基础不足的人很可能被炸得满头是包,并在挫折中步步退缩。通读教材

也是一种常见做法,但对于面向求职的人来说,毕业论文、投递简历、准备笔试和面试已经消耗了大部分精

力,啃厚重的书往往变成了一项艰巨的挑战。

如果你也面临类似的困扰,那么很幸运这本书“找”到了你。本书是我对这个问题给出的答案,即使不是最

优解,也至少是一次积极的尝试。本书虽然不足以让你直接拿到Offer,但会引导你探索数据结构与算法的

“知识地图”,带你了解不同“地雷”的形状、大小和分布位置,让你掌握各种“排雷方法”。有了这些本领,

相信你可以更加自如地刷题和阅读文献,逐步构建起完整的知识体系。

我深深赞同费曼教授所言:“Knowledgeisn’tfree.Youhavetopayattention.”从这个意义上看,这本

书并非完全“免费”。为了不辜负你为本书所付出的宝贵“注意力”,我会竭尽所能,投入最大的“注意力”

来完成本书的创作。本人自知学疏才浅,书中内容虽然已经过一段时间的打磨,但一定仍有许多错误,恳请

各位老师和同学批评指正。

本书中的代码附有可一键运行的源文件,托管于/krahets/hello?algo仓库。动画在PDF内的

展示效果受限,可访问hello?网页版以获得更优的阅读体验。

推荐语

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

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

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

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

i

目录

第0章前言1

0.1关于本书........................................2

0.2如何使用本书......................................4

0.3小结..........................................9

第1章初识算法10

1.1算法无处不在......................................11

1.2算法是什么.......................................13

1.3小结..........................................15

第2章复杂度分析