算法犹如美妙的交响乐,每一行代码都像韵律般流淌。
愿这本书在你的脑海中轻轻响起,留下独特而深刻的旋律。
本项目旨在打造一本开源免费、新手友好的数据结构与算法入门教程。
-
全书采用动画图解,内容清晰易懂、学习曲线平滑,引导初学者探索数据结构与算法的知识地图。
-
源代码可一键运行,帮助读者在练习中提升编程技能,了解算法工作原理和数据结构底层实现。
-
鼓励读者互助学习,提问与评论通常可在两日内得到回复
关于本书
本项目旨在创建一本开源、免费、对新手友好的数据结构与算法入门教程。
-
全书采用动画图解,结构化地讲解数据结构与算法知识,内容清晰易懂,学习曲线平滑。
-
算法源代码皆可一键运行,支持 Python、C++、Java、C#、Go、Swift、JavaScript、TypeScript、Dart、Rust、C 和 Zig 等语言。
-
鼓励读者在线上章节评论区互帮互助、共同进步,提问与评论通常可在两日内得到回复。
读者对象¶
若你是算法初学者,从未接触过算法,或者已经有一些刷题经验,对数据结构与算法有模糊的认识,在会与不会之间反复横跳,那么本书正是为你量身定制的!
如果你已经积累一定的刷题量,熟悉大部分题型,那么本书可助你回顾与梳理算法知识体系,仓库源代码可以当作“刷题工具库”或“算法字典”来使用。
若你是算法“大神”,我们期待收到你的宝贵建议,或者一起参与创作。
前置条件
你需要至少具备任一语言的编程基础,能够阅读和编写简单代码。 |
内容结构¶
本书的主要内容如图 0-1 所示。
-
复杂度分析:数据结构和算法的评价维度与方法。时间复杂度和空间复杂度的推算方法、常见类型、示例等。
-
数据结构:基本数据类型和数据结构的分类方法。数组、链表、栈、队列、哈希表、树、堆、图等数据结构的定义、优缺点、常用操作、常见类型、典型应用、实现方法等。
-
算法:搜索、排序、分治、回溯、动态规划、贪心等算法的定义、优缺点、效率、应用场景、解题步骤和示例问题等。
图 0-1 本书主要内容
阅读方式
// github 仓库
https://github.com/krahets/hello-algo
// 在线阅读
https://www.hello-algo.com/chapter_preface/
//pdf下载
https://chenqiwei.lanzn.com/b00sel74f
密码:3yzm