本文最后更新于96 天前,其中的信息可能已经过时,如有错误请发送邮件到727189340@qq.com
自从笔者看到大二数据结构课程的课本起,就决定想要写一本有着自己风格的数据结构教程。课本并不是不好,而是我认为它不太适合入门,提纲挈领的结构更近似于工具书,而不是一本从头开始讲的教程。这篇文章几次推翻重写,都是觉得讲得“太不说人话”。一个月之后才写出了现在这个目前最满意的版本。
笔者认为,数据结构的本质仍然是一个工具,它为了解决问题而存在。而各种数据结构之间也不是孤立的,是我们结合自己的需要,在基础上不断地修改、创新得来的。正是因为问题存在,所以工具存在。因此我几次尝试,想要以“提出问题 – 分析问题 – 解决问题”的结构去组织文章,然而笔力不够,有些地方仍然有错误或言辞不当之处,望读者提出修改意见,不胜感激。
这一篇文章恐怕不适配于考试或者面试,它并不是一本合格的课本。它缺失了很多教材上提到的内容,例如各种严谨详实的定义等。但是我希望它是一本只要有 C/C++ 基础就能看懂的教程。如果你看完觉得没看懂,那一定不是你的水平问题,而是作者的问题。教程不讲人话,是教程的失职。
数据结构是一门神奇的课,也是算法的基础。希望你能够喜欢上它。
参考资料:
本文在写作过程中借鉴、参考了以下书籍影像资料(依照笔者阅读顺序排序),在此作出感谢。
- 《算法竞赛》(清华大学出版社,罗永军 著)
- OI Wiki – OI Wiki (oi-wiki.org)
- 《数据结构(C语言版 第2版)》(人民邮电出版社,严蔚敏 著)
- 《数据结构与算法分析(C语言描述)》(机械工业出版社,马克·艾伦·维斯 著)
- 《数据结构(C语言版)》(清华大学出版社,严蔚敏 著)
- 算法通关手册(LeetCode) | 算法通关手册(LeetCode) (itcharge.cn)
- 【强烈推荐】深入浅出数据结构 – 顶尖程序员图文讲解 – UP主翻译校对 (已完结)_哔哩哔哩_bilibili
- 数据结构概述 (xiexuewu.github.io)
- C 语言教程 | 菜鸟教程 (runoob.com)
在从 PDF 文档转移向这里的过程中,我发现由于 `.css` 样式设计等问题,其阅读体验可能不如 PDF 文件。我预计会在完全更新完之后放出完整版的 PDF 文件。