hello-algo/docs/chapter_preface/about_the_book.md
2023-03-03 21:54:04 +08:00

3.3 KiB

关于本书

本项目致力于构建一本开源免费、新手友好的数据结构与算法入门书。

  • 全书采用动画图解,结构化地讲解数据结构与算法知识,内容清晰易懂、学习曲线平滑;
  • 算法源代码皆可一键运行,支持 Java, C++, Python, Go, JS, TS, C#, Swift, Zig 等语言;
  • 鼓励读者在章节讨论区互帮互助、共同进步,提问与评论一般能在两日内得到回复;

读者对象

如果您是「算法初学者」,完全没有接触过算法,或者已经有少量刷题,对数据结构与算法有朦胧的理解,在会与不会之间反复横跳,那么这本书就是为你而写!

如果您是「算法老手」,已经积累一定刷题量,接触过大多数题型,那么本书可以帮助你回顾与梳理算法知识体系,仓库源代码可以被当作“刷题工具库”或“算法字典”来使用。

如果您是「算法大佬」,希望可以得到你的宝贵意见建议,或者一起参与创作

!!! success "前置条件"

您需要至少具备任一语言的编程基础,能够阅读和编写简单代码。

内容结构

本书主要内容有:

  • 复杂度分析:数据结构与算法的评价维度、算法效率的评估方法。时间复杂度、空间复杂度,包括推算方法、常见类型、示例等。
  • 数据结构:常用的基本数据类型,数据在内存中的存储方式、数据结构分类方法。数组、链表、栈、队列、散列表、树、堆、图等数据结构,内容包括定义、优劣势、常用操作、常见类型、典型应用、实现方法等。
  • 算法:查找算法、排序算法、搜索与回溯、动态规划、分治算法,内容包括定义、使用场景、优劣势、时空效率、实现方法、示例题目等。

Hello 算法内容结构

致谢

本书的成书过程中,我获得了许多人的帮助,包括但不限于:

  • 感谢我的导师李博,在小酌畅谈时您告诉我“觉得应该做就去做”,坚定了我写这本书的决心。
  • 感谢我的女朋友泡泡担任本书的首位读者,从算法小白的视角提出了许多建议,使这本书更加适合初学者来阅读。
  • 感谢腾宝、琦宝、飞宝为本书起了个好听又有梗名字,直接唤起我最初敲下第一行代码 "Hello World!" 的回忆。
  • 感谢苏潼为本书设计了封面和 LOGO ,在我的强迫症下前后多次帮忙修改,谢谢你的耐心。
  • 感谢 @squidfunk 给出的写作排版建议,以及优秀开源项目 Material-for-MkDocs

本书鼓励“手脑并用”的学习方式,在这点上受到了《动手学深度学习》很大影响,也在此向各位同学强烈推荐这本著作,包括中文版英文版李沐老师 bilibili 主页

在写作过程中,我阅读了许多数据结构与算法的教材与文章,这些著作为本书作出了很好的榜样,保证了本书内容的正确性与质量,感谢前辈们的精彩创作!

感谢父母,你们一贯的支持与鼓励给了我自由度来做这些有趣的事。