文章吧-经典好文章在线阅读:数据结构与算法分析的读后感10篇

当前的位置:文章吧 > 经典文章 > 读后感 >

数据结构与算法分析的读后感10篇

2022-04-18 10:34:35 来源:文章吧 阅读:载入中…

数据结构与算法分析的读后感10篇

  《数据结构与算法分析》是一本由维斯著作,机械工业出版社出版的平装图书,本书定价:35.00元,页数:391,文章吧小编精心整理的一些读者的读后感,希望对大家能有帮助。

  《数据结构与算法分析》读后感(一):求甚解的读者看这本会累死

8.28-------
其实CLRS的书在论证方面也不能算太好,例如霍夫曼编码,缺点说明见此文:http://mindhacks.cn/2011/07/10/the-importance-of-knowing-why-part3/
但是,仍旧比Weiss的走脑。现在觉得,如果是以求甚解的心态去学算法,书本真的不能选薄的。。。因为这种书只能用来当知识索引工具。
8.13-------
薄薄的一本书有这样的广度和深度确实难得。但讲得太跳跃,而且命题证明过程的表达水准一泡污。一豆友说“让行文尽可能晦涩难懂这个目标的达成上翻译同学又立了大功”--这条不作定论。其实,如果这本书的作者能好好说话,那书里的结论都是很好理解的。读者如果求甚解,还是看算法导论去吧。

  《数据结构与算法分析》读后感(三):数据结构的第一本书

首先要说的就是这本书有很大一部分的提升都在于其课后习题。很多时候都是前面的内容看过了,但是后面的习题不是直接把前面的内容搬过来就直接可以用的,而是需要去找资料,去学习别人的写法然后理解才能真正学懂的。这本书作为一本数据结构和算法的教材之所以这么薄就是因为其习题有相当的难度。很多习题都是采样自一些比较经典的论文,所以如果真正要用心把这本书学好应该要花费不少时间。
  作为数据结构的入门书,我觉得这本书确实挺不错的。但是有一个问题,就是要求读者具有比较不错的耐心。因为这本书中几乎没有活跃气氛的废话,可以说是针针见血,直接迎难而上。这也是为什么虽然这本书的翻译还不错,但是我第一反应会觉得有些地方不通顺的原因(其实就是自己的问题啦)。
  谈一谈自己在这本书中的收获吧。首先就是各种数据结构有了不错的了解,至于算法,书中只在10章进行了介绍,如果要有所感悟同样要通过自己长时间的练习才能有所收获。令人意外的是,我在这本书中最大的收获竟然是关于递归,让我对递归有了更加清晰的认识,特别是在讲树的章节,我以前对于递归是很不屑的(因为我觉得它浪费了很多的栈空间,效率很低),现在我也开始惊叹于递归带来的易读和整洁。也是因为这一点,我要看的下一本书决定就是你了——《sicp》
  要说这本书有什么不足的话,就是我之前说的,太过于简练。注意我说的是简练而不是简单。恰恰就是因为他的内容比较丰富但是书中的代码和分析还不算很够,所以导致学的过程中还是比较痛苦的(特别是对于自学积极性不是很高的同学)。如果简单的过一遍,能够得到的收获就很有限了。
  但是这不影响我对这本书的5星好评,因为作为我的第一本数据结构和算法类书籍。本书确实做到了它应该做到的一切。

  《数据结构与算法分析》读后感(四):没有传说中说的那么神乎奇乎

当初在豆瓣上看到这本书的评价,写得神乎奇乎,结果就买了,买了,真的就买了!
后来花了近2个月的时间才把这本书看完(只看了80%,后面的摊还分析和高级数据结构跳过),坦白说,这本书真的不适合零基础进行学习,一开始就通过连续子序列和的例子引入,外加分治法求快速幂,我勒个去,一上来就搞递归分治,动态规划,真不知道我当时是怎么看过来的。。。
表,栈和队列写的中规中矩,跟普通的数据结构书籍没多大差异,不过树这个章节我看完真心觉得很爽!!!这里面关于树的算法描述,把我对递归算法的理解提升了一个档次!(阅读之前对递归的理解仅仅停留在用递归求和而已),后来自学红黑树,字典树,线段树等树数据结构变得更加容易。这本书的优点就在于代码清晰,很容易阅读,适合数据结构的第二本学习资料。
这本书读完,让我对散列,二叉堆,排序(特别是快排),图论算法又有了进一步的理解。

  《数据结构与算法分析》读后感(五):可以作数据结构的入门书

1,图多,形象,毫不吝惜纸张,在我理解问题时给了很大帮助。 2,内容极多,但大多数只给结论,不给推导。不过数据结构这种课,本来也不需要太多理论推导,只要在脑海中有个大概的复杂度直觉、算法框架就行了。 3,作者功力极深,但描述问题时往往不加解释,要自己在脑子里转个弯才行,尤以排序一章为甚,十分痛苦。

后来每看一遍都能发现新的东西,真是一座宝藏,可惜初学者所能领悟的十中无一。

4,代码多,伪代码,但和C语言相差无几,几乎能直接拿来用。 5,语言晦涩难懂,有数处明显机翻。 本书是我大一时的噩梦,感觉看严蔚敏的数据结构都比本书轻松许多。

扣一颗星是因为中文翻译得太烂了,越往后越烂。

  《数据结构与算法分析》读后感(六):翻译很坑爹(6级过了否?)

自从下了英文原版电子书对着看,翻译真是一次有一次引起我的愤怒!
比如
“dramatic effect” 翻译成“戏剧性的效果”
“General idea”翻译成 “一般想法”
今天看完第五章,会看第一章第一页倒数第三段说的那个字谜问题,“The input consists of a two-dimensional array of letters and a list of words. ” 本意是说输入1.包括一个由字符构成的二维数组,2.包括一系列单词(下文称 word list)! 解谜的时候是要看二维数组各个方向字母组成的单词在不在你输入的word list 中。而它翻译的“输入是由一些字母和单词的二维数组组成”,完全导致我当初就没看懂,还以为输入的二维数组既可以是字符也可以是单词!正好书上图片只显示了二维字符表,就以为“单词表”是整个词典!!
翻译是在,太坑了,书难度高,完全和翻译脱不了关系!!!
建议:下载英文版电子书对着看

  《数据结构与算法分析》读后感(七):兼顾入门,广度和深度

这种程度的书确实很少能见到了。
它不在简单的地方无谓的浪费笔墨,恰到好处的把初学者带入算法和数据结构的世界。
它基本上涉及了数据结构基础的“方方面面”。很难想象这书的厚度,居然能讲这么多内容(你看看算法导论有多厚就知道我在说什么了)。
它在内容上并不乏深度。高级数据结构部分并不容易,如果你第一次就全部耐心看完,我也不得不怀疑那是不是真的。因为那些数据结构的额繁琐程度非同一般,如果你能随手码出其中的大半,就足以说明你的代码能力已经差不多出神入化了。
最重要的是,你真的就感觉作者在你眼前给你说教一般,个人觉得,这本书真的算是一本有灵魂的书吧。甚至同一个问题在书中的不同位置出现,不断的被优化。
此书很多高级部分,真的不得不佩服作者的编排,层层深入,尤其是二叉堆,斜堆,二项堆,Fibonacci堆那段。然后伸展树和Fibonacci堆又给联系起来了。均摊复杂度分析。。。。做到这种程度上,也就不难理解,为什么这个厚度的书,可以把这么多东西都讲这么详细~
~~~~~
这本书主要还是讲数据结构的,算法方面除非和所介绍的数据结构有很强的关系,否则一般都只是简单的介绍一下而已。这本书的算法部分确实只能说是入门,仅仅只看这本书,算法部分应该是不够的(尤其是图论,动态规划部分,篇幅太短)。

  《数据结构与算法分析》读后感(八):翻译翻译!!!

没有人吐槽一下翻译吗?翻译的看不下去了。
举个例子,p84最下面一段“我们继续在前面例子的基础上以倒序插入关键字10到16,接着插入8......”,但图(p85图4-36下面的那幅)里面当前的顺序是插入16和15.根本没有10. 后来对照英文版发现,翻译的文字和图都对不上,英文版是插入15,14......。.我死活想不明白为什么会出现个“倒序”这个词。
《c语言参考手册》的翻译版也给那么高的分,我都怀疑打分的人你们看过书了吗?
接触了这么多翻译的书唯独带着“娱乐”精神来翻译的《unix编程艺术》翻译的较为不错,其它的没有一本可以少吐槽的。唉,还是直接上英文版吧。

  《数据结构与算法分析》读后感(九):00

                                                                                                                                                                                                                                                  想学C++的,而上面写的是C语言版,是否是一样的呢,有的书写C++有的写C有什么差别呀

  《数据结构与算法分析》读后感(十):翻譯錯誤?原書錯誤???

我看的是中文版的,hash table那一章,第114頁。我就直奔主題了啊。
中文版里是這樣說的:
我們程序的一個低效之處在於第12行上的malloc執行了H->TableSize次。這可以通過循環出現之前調用一次malloc操作。
H->TheLists = malloc(H->TableSize * sizeof(struct ListNode));
注意了,這裡的類型定義是這樣的:
struct ListNode;
typedef ListNode *List;
List * TheLists;
也就是說TheLists是指向List的指針,也就是List的數組;它在之前被賦值過一次:
H->TheLists = malloc(sizeof(List) * H->TableSize);
可以很明顯地看出來,這兩次malloc的大小、指針類型都不同,所以我認為中文版114頁的這句話是錯的。
同時我寫了段代碼測試了一下,果然按照它這樣的說法會有運行時錯誤。然後我按照我的想法修改了一下就通過了:
ListNode *tmp;
tmp = malloc(H->TableSize * sizeof(struct ListNode));
H->TheLists[0] = tmp;
H->TheLists[1] = tmp + 1;
這樣就沒問題。
也就是說,H->TheLists必須進行一次提領才能賦值給它ListNode類型的地址。
請大家幫忙確認一下,謝謝。

评价:

[匿名评论]登录注册

评论加载中……