《数据结构》严蔚敏版 读书总结

来源:互联网 发布:淘宝怎样换货 编辑:程序博客网 时间:2024/04/29 10:53

这本书3月份看的,之前没玩博客,所以没写总结,现在补上。


因为我本科专业不是计算机,只是对计算机很有兴趣,想跨专业考计算机系的研究生,这是决定跨考之后看的

第一本计算机专业书。看完之后收获颇大。


以前写程序基本上没有数据结构的概念,记得当初学C语言的时候,觉得链表好难理解,心想怎么会有这么复

杂的东西。再加上写的程序都比较水,上不得台面,所以对数据结构方面的知识水得跟渣一样。第一个比较

样的程序是大二下做的学生管理系统,那是当时的C语言课程设计题目,当初觉得这玩意好复杂啊,为此还又

把谭浩强的《C语言程序设计》看了一遍,把C语言基础巩固了一下,记得写这个程序的时候数据结构用的还是

数组,没有用链表,因为老师不要求用链表,我也觉得链表太复杂,还是数组简单。就这样,我用最原始的C语

言基础知识码了3天把这个小程序码完,而同学都是抄学长的,或者搞不定的,当时那个成就感啊,觉自己的

C语言水平已经到家了,感觉自己编程水平很牛了,各种飘飘然......现在想想当初真是好像,其实这东西没一点

技术含量,没有高级点的数据结构 (用的是数组),没有好的算法(当时排序用的还是选择排序),代码风格

也比较挫。


我就这样晃晃悠悠到了大三上,然后因为想参加我们学校的一个技术团队,就和另外一个同学报名参加了他们组

织的一个编程比赛,比赛有初赛、复赛和决赛,初赛和复赛我硬靠着扎实的C语言基本功给通过了,这次使用了链

表,不过是用的C++中的STL,我并没有亲手实现过一个链表,当时觉得这STL真是爽到爆,你啥都不用管,直接

用就好了,就有点质疑这还要学数据结构干啥?初赛和复赛给了我莫大的信心,因为复赛我们队还排名第2,不过

苦逼是决赛,因为举办方为了降低门槛,所以初赛和复赛的题目都没有涉及太多的数据结构和算法的知识,但决赛

就不一样了,记得当时进入决赛的7个队除了我们都是计算机学院或软院的。决赛题目是个求一个游戏的最优解法。

当时我和我另外一个同学硬是想了6个小时也没有搞出来。其实那个题目的主要是应用BFS算法搜索最少路径数。

是个典型是BFS算法题,但当时连BFS为何物都不清楚,惨痛的教训!


大三上是个忙碌的学期,因为本专业课程太多,也没有时间去学《数据结构》这门课,直到了大三下,也就是

这个学期,才有时间来好好研究一下。因为我C语言的基础还不错,所以看书的时候我就将每个ADT的基本操

作都自己实现了一遍,而且将书中算法的伪代码都自己用C语言实现了,感觉这本书讲数据结构还是很清楚的,

主要介绍了链表、栈、队列、树和图,我感觉树和图算是比较难的,但基本都是以链表为基础,这本书关于算

法的介绍不多,Weiss 的《数据结构与算法分析》很值的一看,这本书可以与《数据结构》一书互补。很多人

说《数据结构》没有《数据结构与算法分析》不好什么的,我觉得有些片面了,看了之后可以很明显发现其实

两本书的侧重点是不同的,《数据结构》比较重基础,每一种基础的数据都讲的很清楚,代码也给的比较多,

而《数据结构与算法分析》则比较重算法分析及全面性,书中介绍了很多高级的数据结构,但对于基础的数

据结构的介绍则没有《数据结构》详细,入门的话看《数据结构》很不错。 但之后一定要再看看《数据结构

与算法分析》,要不然可以说只学了一半。


值得一说的就是,国内的计算机专业书很多对于编程风格都比较随易,比如谭浩强的《C语言程序设计》,代

码风格实在是差劲,很容易误导初学者,再看国外的C语言经典之作K&R的《The C Programming Language》,

其编码风格被人们称为K&R风格,可以说是经典的代码风格。《数据结构》和《数据结构与算法分析》也是一

样,前者风格凌乱,后者则比较统一而且清晰,看着很舒服,所以强烈建议初学者不要盲目模仿书中的代码风

格,最好是先看一看K&R的《The C Programming Language》,养成好的编码习惯之后再看国内的书,

这样不容易被国内书的糟糕的编码风格误导!

原创粉丝点击