文章吧-经典好文章在线阅读:《数据结构与算法:python语言实现》读后感锦集

当前的位置:文章吧 > 原创文章 > 原创精选 >

《数据结构与算法:python语言实现》读后感锦集

2020-10-19 00:24:27 来源:文章吧 阅读:载入中…

《数据结构与算法:python语言实现》读后感锦集

  《数据结构与算法:python语言实现》是一本由迈克尔.·T·古德里奇 / 罗伯托·塔玛西亚 / 迈克尔·H·戈著作,机械工业出版社出版的平装图书,本书定价:109.00元,页数:477,特精心从网络上整理的一些读者的读后感,希望对大家能有帮助。

  《数据结构与算法:python语言实现》精选点评:

  ●P.196 倒数第四行,“双亲节点”。。。。原版: a parent element。 真是日了狗了。

  ●翻译差劲。有些句子读两三遍仍读不通顺。不过内容很好,实例很有启发性

  ●翻过即看过系列

  ●翻译让我想骂人。

  ●中文版翻译低劣,建议直接原版

  ●中文版p216翻译错误,广度优先遍历:visit the positions at depth d before we visit the positions at depth d+1,竟然翻反了,翻成了在访问d前先访问d+1。 翻译不通顺。

  ●# 翻译质量极差 翻译的质量实在是太差了,好好的一本书,被完全毁了。估计就是借给手下的研究生翻。 ## 机翻 举一个例子, 原文 ”Example x.x: ....“ 举了一个实际生活中的例子, 翻译为 "例题 x.x: ...." 这种逻辑只有机翻才会出现。可见译者对这本书的态度是及其的随意。 买了好几本机械工业出版的书,都是垃圾翻译。翻了起得是副作用

  ●写得很好的书啊,顶一下打个五星

  ●中文翻译真是无力吐槽,对于自学来说简直是灾难,没几页就有严重的翻译错误,导致还得对照着英文版理一下。

  ●啊呀呀,

  《数据结构与算法:python语言实现》读后感(一):内容很好,深入浅出,翻译太差,建议英文版

  这本书的翻译真的太差了,应该是直接机翻的,并且机翻的软件也很垃圾,经常是牛头不对马嘴。但即使是这样,也无法掩盖这本书内容的精彩。英语好的话建议直接原版。如果英文不好,又只会python,那只能看这本了。但切记,如果遇到不明所以,无法理解,读不通顺的情况,不要怀疑,肯定是翻译错了,可以对着原版英文的看下。

  《数据结构与算法:python语言实现》读后感(二):整体还不错,但错误处不下五十个

  原版没看过,看到是翻译版,第一次看数据结构的书,结果竟然错误那么多,我说怎么看不懂,直到看第二遍才知道是个错误。

  说完不足,再说点好的,整体上还是不错,适合有一定项目经验的想深入了解python的同学。

  另外给个建议,里面有些代码还是不要省了,比如基于数组的双端队列的代码。还有就是涉及到一些class中method的空间复杂度、时间复杂度,可不可以列举完整了,直接列在表格里,而不是单纯文字说明。

  《数据结构与算法:python语言实现》读后感(三):翻译很差

  翻译错误很多,举一个最严重的:第20页,在表1-4的round(x)下,本书原版是a tie is broken toward the even value,意味在x=3.5(中立)的情况下,x为最近的偶数,即为4,但是在中文版被翻译成省去小数点后的数向偶数值靠近。译者显然没搞清楚tie的含义,而且即使没搞清楚tie,翻译出来后,光读一遍也会发现不符合编程的逻辑,然后审查也没查出来,误人子弟。看了一下译者序,发现果然是教授再加上手下廉价劳动力研究生翻的书。别买了,看原版吧。

  《数据结构与算法:python语言实现》读后感(四):读了这本书,我哭了

  在三十年的人生里,我一直都觉得自己是个聪明人。从幼儿园到高中,我的成绩一直都排在全校前几名,哪怕考得再砸、再烂,也绝对不会跌出50名。高中毕业后,我也顺利进入XX大学,从此走向人生巅峰。一直以来,虽然嘴上不说,但我都为自己的脑袋而沾沾自喜。

  直到前几天读了这本书,我有充足的理由怀疑,我自己是个智障。

  事情还要从这次新冠肺炎说起。

  受肺炎影响,我被困家中。苦于无事可做,于是买了几本Python书,学习蟒蛇编程。一来提升自己的工作能力,二来也想编几个小程序或小游戏,自娱自乐。一个月时间,啃了中英文三四本入门书,也编了几个如连连看、拼图、贪食蛇之类的游戏,虽甚为粗糙,却也是自己一字一字码出来的,颇有几丝成就感。

  于是焉,始欣然自喜,以为编程之事不过尔尔。在危险的边缘反复试探之后,我终于迈出自己的一小步,在天猫下单了两本书,其一为裘宗燕老师的《数据结构与算法:Python语言描述》;其一为这本——《数据结构与算法:Python语言实现》,XXXX等译。请记住后者的名字,这是一个虐我千百遍的名字。

  俗话说,女人拆快递的心情跟男人撕丝袜的心情是一样一样儿。撕开包装,手捧此书,仔细端详。不愧是机械工业出版社大厂,从内到外,从表到里,处处不同凡响。啊,这洁白的纸张,这芬芳的书香,这指尖抚过扉页光滑的触感,这按捺不住激动不已的心脏……我为自己匮乏的词汇而羞愧,总之,俺也一样。我怀着崇敬的心情翻了几页,生怕弄脏了任何一张。

  我发现,本书一切都好,只有两个地方写的不懂——这也不懂,那也不懂。

  我想,这一定是自己的水平太低。毕竟中间我因为私事抛下编程一月有余,重新拾起,很多概念都有生疏。慢慢啃罢。于是,第一章,Python入门部分,不含习题,共34页,我断断续续啃了三天。

  这三天,是我人生最为漫长的三天。在这三天里,我的人生观、价值观、世界观,都从头到脚被颠覆了。三天过后,我陷入长久的沉思——我究竟是不是一个智障?

  引爆点在于本书第33页,这样一句话:在模块中,如果该模块被直接调用作为一个脚本,而不是从另一个脚本导入模块时,将执行该模块中嵌入命令的特殊构造。

  这句话让我苦苦思索了10分钟。从汉语习惯上来讲,“如果”之后,一般会跟“那么”,但是后文没有“那么”,而是跟着一个“时”,而汉语里一般讲“当……时”。所以这句话应该理解为:如果该模块被直接调用……那么,或者是:当该模块被直接调用……时。相对而言,前者更为通顺,因为“当……时”一般是短句,比如“当吃饭时”。不吹毛求疵了,语法暂且抛至一边。问题来了,“在模块中”、“该模块被直接调用”,都在自己的模块中了,自己还怎么被调用?不应该是在一个模块中另一个模块被调用吗?后面这一系列内容我就根本看不懂了,咸亨酒店伙计听孔先生“君子固穷”的感觉涌上我的心头。

  就这样,三分之一柱香过后,我觉得,我不适合编程。

  不过,第一章还是要啃完的,于是我忍着剧痛,一直读到第一章最后一段。

  最后一段是一张表。

  表1-3 Random类的实例支持的方法和random模块的顶级函数

  huffle(seq),重新排列给定的伪随机序列中的元素。

  我反复琢磨过后,百分之百确定,这话错了。

  huffle(seq),shuffle()是random类的一个方法(method),接受一个序列(也即文中的seq)作为参数,可以打乱这个序列中元素的排列顺序。但是这个seq并不是伪随机序列,也不是真随机序列,它根本就跟随机不随机无关,因为这个序列是人为给出的。这个函数(方法)的真正意义,是把序列的顺序打乱,只是打乱的时候,并不是真随机地打乱,而是伪随机地打乱。

  我赶紧合上书,从哪儿看这书都不像盗版,又去马云查查了查订单,没错啊,是在天猫店买的,正版。既然是正版,印刷错误可以忽略,那就只有如下可能性了——要么原作者写错了,要么翻译错了。

  我动用了各种手段,找到了英文原版pdf,定位到这行文字。原文里清楚地写道:shuffle(seq),Reorders the elements of the given sequence pseudo-randomly.

  我用我残存的九年义务教育级别混杂山东方言海蛎子口音的中式英语翻译了下,原作者大概是这么个意思:shuffle(seq),重新排列给定序列的元素,伪随机地排列。

  我X,伪随机地排列序列,跟排列伪随机的序列,能是一个意思吗?!

  我又赶紧返回到虐我千百遍的那句话——在模块中,如果该模块被直接调用作为一个脚本,而不是从另一个脚本导入模块时,将执行该模块中嵌入命令的特殊构造。

  原文是这么写的:There is a special construct for embedding commands within the module that will be executed if the module is directly invoked as a script, but not when the module is imported from another script.

  大概是这么个意思:Python有一种独特的结构,它有如下效果:python脚本有一些嵌入的命令,如果脚本被直接运行,那嵌入的这些命令就执行;而如果这个脚本不是直接运行,而是被当作模块导入到别的脚本,那这些命令就不执行。

  真相大白,翻译问题。

  我一手对着中文版,一手对着对着原版,略略翻了几页。诸如此类的错误不胜枚举:

  1、中文版第6页顶部——(构造浮点数的时候,)如果构造函数的参数是一个字符串,如float('3.14'),它试图将字符串解析为浮点值,那么将会产生ValueError的异常。

  事实上,float('3.14')会直接把'3.14'这个字符串转化为3.14这个浮点数,绝对不会产生ValueError。

  原文是这么写的:If the parameter to the constructor is a string, as with float('3.14'), it attempts to parse that string as a floating-point value, raising a ValueError as an exception.

  大意如下:如果参数是一个字符串(如float('3.14'),'3.14'这个字符串作为参数提供给float()函数),那构造函数就会把字符串解析为浮点数,如果解析出错,会抛出ValueError的异常。

  并不是任何情况下都会会抛出ValueError异常啊啊啊啊啊!

  2、中文版第4页,对应英文版第6页底部,“accessor”译作“访问器”,“mutator”译作“应用程序”。“访问器”大概是一个固有翻译,但是“mutator”不应该与之对应,翻译成“XXX器”吗?比如“修改器”?“变化器”?“变种器”?“X战警器”?我的确不知道“mutator”译作“应用程序”是不是约定俗成,但不管怎样,这绝对不是一个好的译法。

  3、中文版第8页底部,讲“==”跟“is”的区别——在大多数编程情况下,==和!=运算符适用于检验表达式是否相等。is和is not在有必要检验真正的混叠时是适用的。

  我不知道“混叠”这个词是不是计算机领域的专业词汇,只知道这个词让我一头雾水。

  原文如下:In most programming situations, the equivalence tests == and != are the appropriate operators; use of is and is not should be reserved for situations in which it is necessary to detect true aliasing.

  大意是:一般来说,==和!=适用范围更广,它们用来判断是否相等。只有在检验一个变量是不是另一个的变量的别名时,才会用到is和is not。

  (我只是个初学者,只能在有限的知识基础上翻译它们,所以肯定会有不达意之处,甚至错误,见谅。)

  如此种种,而我只不过翻了几页而已。

  我不禁掩卷沉思。

  最终,我得出一个结论——在集合set('我', '译者)里,至少有一个是智障,而我毫无疑问是智障。我的智障之处在于,太过于相信“学者”的操守而花五六十块买了这么一本po书。

  这本po书能问世出版,上难对天,下难对地,中间对不起原作者写书时耗费的精力。

  颤颤巍巍地,我打开了本书第二页,译者序。一瞬间,万籁俱寂,真相大白。在译者序最后一段,白纸黑字清清楚楚地写道:感谢所有参与本书翻译和校对工作的教师和研究生,他们是XXXXXXXXXX……

  我的小人之心蠢蠢欲动,这样一副画面浮现在我眼前:某老师接到翻译任务,自己工作繁忙,脱不开身,于是交给手底下几个研究生,每人翻译一章。水平有高有低,翻译参差不齐。一个月后,人力+谷歌翻译的版本就提交到导师那里。校对审核?不存在的。然后这样一份错误百出的稿件,就顺利付梓了。

  读研的时候,我也选过某老师的课程,课程大作业是,嗯,翻译某书,每人一章。我不敢揣测这位老师是什么目的,但出于为读者考虑的想法,我还是认认真真地把相关任务翻译完成了。期间屡次修改,直到我认为我的的确确是在说汉语,说人话,才把作业提交上去。

  我不知道我翻译的文件最终去了哪里,我只是不想将来某一天,有读者看到我写的话,说:这写是什么XX玩意儿!

  有志于学的同志们,看原版去吧。

评价:

[匿名评论]登录注册

评论加载中……