趣说数据结构 —— 前言
一次偶然的机会,翻到当初自己读大学的时候教材,看着自己当初的勾勾画画,一时感触良多。
很值得一提的是,我在封面后第一页,写着自己的专业和名字的地方下面,写着几行这样的字:选择题 10 x 2;简单题 5 x 4;程序题 …
小伙伴们是否也会有这种习惯呢?当看到这些文字的时候,我想起当初老师说考试题型的样子,记得老师强调好好复习的样子 ……
所以我想把这些学习经过记录下来,以我自己理解的方式,结合老师当初说过的内容,好好地整理一下,也算是纪念一下当初那个考试前超级紧张,整个宿舍的人都可以熬夜背书的日子吧 [狗头]
此外,开始此系列博客的另外一个目的,是结合当初自己学习过程中自己的亲身体会,将一些难点痛点重新梳理一遍,尽可能详细地介绍一遍,并把开发过程中常常遇到的、面试过程中经常问到的问题做个总结,这与当初老师划重点非常类似。
整个过程中,我也会绘制一些图像,以便于更方便初学者理解。但是由于精力有限,可能存在很多缺陷,欢迎小伙伴们在后面留言补充,跪拜 ~
现在已经有很多很好的教程,比如 菜鸟教程 等。那我这样做是否还有意义呢 ?我想过很多次这个问题,这个问题甚至让我有些不敢继续写博客了,因为很多我写的内容全网都能找到。但是,为什么要考虑这个问题呢 ? 我更加需要考虑的是,我对某些问题的理解以及解决方案,可能我参考了某一博客,但是如果我觉得它不够详细、可能有坑,那我就应该记录下来,作为自己的成长笔记,也可以帮助其他人不要踩坑。
也希望更多的小伙伴们可以加入进来,不用考虑那么多问题,记录 > 分享 才是每一位初学者必要的选项。
教材选择
首先推荐的是严蔚敏教授编写的 《数据结构(C语言版)》,这本书有个很有意思的点就是 “老师挺喜欢但是学生不喜欢” 的现象。原因很简单,一般情况下学习数据结构都在大一下或大二上,仍然多少有些停留在喜欢 Ctrl + C 和 Ctrl + V 的阶段,但这对学习非常不利。老师一般会强调,这本书上使用的是伪代码,但是学生不理解,为什么要使用伪代码。其实原因很简单,因为如果严格按照可执行代码的习惯去写将会多出很多累赘部分,这些累赘部分是非常无聊、没有意义的。
重点应该在于理解并牢记整体思路,然后根据自己记忆中的思路去实现代码,加深自己的理解,从而不断提升自己。
划重点 —— 问题收集
这些问题会在下一个章节回答(回答内容也仅供参考),如果有自己的答案,也欢迎留言 ~