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


    这本书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》,养成好的编码习惯之后再看国内的书,

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

  • 相关阅读:
    每日英语:China's Wistful Wen Gets His Wish
    每日英语:Singles Day in China
    每日英语:A Chinese Soccer Club Has Won Something!
    每日英语:Are Smartphones Turning Us Into Bad Samaritans?
    每日英语:The Benefits of a Sleep Buddy
    每日英语:Pediatricians Set Limits on Screen Time
    每日英语:The Risks of Big Data for Companies
    每日英语:Patent Wars Erupt Again in Tech Sector
    每日英语:Got a Case of the Mondays? Blame the Sunday Blues
    从构建分布式秒杀系统聊聊Lock锁使用中的坑
  • 原文地址:https://www.cnblogs.com/dyllove98/p/3167663.html
Copyright © 2020-2023  润新知