文章吧手机版
《算法导论(原书第3版)》读后感10篇
日期:2018-08-23 04:17:01 作者:文章吧 阅读:

《算法导论(原书第3版)》读后感10篇

  《算法导论(原书第3版)》是一本由Thomas H.Cormen / Charles E.Leis著作机械工业出版社出版的平装图书,本书定价:128.00元,页数:780,特精心网络整理的一些读者读后感希望大家能有帮助

  《算法导论(原书第3版)》读后感(一):99%的题目完成度 楼主黑化的不归路 附带学习心得

  我已经看完《算法导论》很久了,不接触算法也很久了。也没有《算法导论》的习题解答

  容我先吼一句:孩子,醒醒吧,那都是骗人的!!!

  老子都看完算法导论了,还不是一样做着前端的外包,还不是合同到期直接滚了。。。算法酷炫一点有什么用,比大数据部门的一部分厉害又有什么用,还不是个被裁的命!!!

  ------------------------------吼完,舒坦多了----------------------------------

  ----------------------------以下是楼主黑化史---------------------------------

  今年5月21日

  实习期,同事的一句玩笑话促成了我买下这本《算法导论》。过了今晚,正好算半年吧。

  回顾一下:经过半年的努力,我基本算是读完了算法导论。全书除掉附录和索引,全部看完,题目一共1115道,一共有8道题算是没有完成。。。8道里面有2道是概念不懂,比如34.5-2,那个“一元形式”我就没看懂。。还有3道是结论和题设不一样,如35-6的d小题,感觉是S和T写反了。。还有3道是自己没有做出来,也没时间做了,分布在第28章的第二个小节的附带小题目中。。因为我再过一个月就要失业了,不能再陪那几题耗下去了,明天开始复习一下设计模式,ios代码数据库之类的。。。综合下来完成度在99%以上吧。。

  刚开始我受了网络评论以及自己内心的怂恿,以为看完这本书就能飞上枝头凤凰,毅然决然地边工作,边每晚10~12点半,以及周六日无休看这本书。。。开始的那一两个月满是激情,因为今年本科毕业,5,6月份是实习,那个激情的,自己赚钱啦,白天工程代码,晚上科学算法,太完美了。。

  但从7月份开始我开始黑化,因为,公司部门调整,我的部门要没了,部门的老员工陆续离职,因为本身也就是干外包的,再加上本人是前端,再加上,我这个刚毕业就要失业。。。幸亏部门的外包合同是到年底,给了我一点喘息机会,至少到年底才裁员。。哈哈,我加快了脚步看这本书。。。不过内心已经开始黑化。

  到了10月份以后,由于离被裁的时间越来越近,部门的有点本事的老员工也走的差不多了,就剩下几个老弱病残和我这类刚毕业的小苗子。。应付着外包的合同。。。我已经不在乎自己能不能变成凤凰了,只希望善始善终,给自己一个装B的理由。。于是继续攻打着后面的那些变态章节

  昨天终于算看的差不多了,能做的部分基本都做了,少部分遗留题目,我也就只能算了。。我去买了本设计模式的书看一看,希望能够,裁了后找个月薪不比现在外包低的岗位,八千以上最好。。。

  不过这本书最大的好处就是能够让我装B,想着,那些同一楼层的高学历大数据员工,鄙视我们这些本科外包人员时,我能够回击他们,能够在算法上虐他们中的一部分。。。我被裁时,能够吼一句:“你们这些渣渣,水平都没有我高,竟然敢瞧不起我,渣渣,裁了我是你们的损失”。。。。哈哈,想想还有点小激动呢。。。

  要是看着MIT这个名号,老子纯自学,花了半年就干的差不多了,老子要是有命去MIT,将来也是大神。。。。各种YY。

  至此,楼主彻底黑化。

  ---------------------------关于楼主的能力----------------------------------

  本科毕业,大学的《离散数学》,《高等数学》《线性代数》,都是一般般的分数

  大学时,愤青,没本事却高傲指责国内教育,然后看了本《什么是数学》平衡心理。算法导论之前,上过《数据结构》这个课,然后,在POJ做了两个月的ACM入门题。。。然后学了一些java,包括《30天自制操作系统》以及《JAVA编程思想》。。当然工作需要的IOS的一点OC代码。。。也算有一定的代码量。

  ---------------------------正能量PS:学习心得----------------------------

  下面是本人在知乎的一个回答完善版本

  0.孩子醒醒吧,我看完了还不是个外包被裁员的命。。

  1.英文版和中文版的差别不大,算法导论的翻译绝对是可以的,当然的确有部分明显错误,不过基本都是非常明显的打印错误,少部分的翻译错误也是很容易判别的,绝对不会影响阅读。。。如果你中文版看不懂,那么基本看英文也是一个结果,该不懂的还是不懂,某些人可能是因为中文版没看懂,然后断定中文版翻译有问题,这样就可以掩盖自己的水平缺陷,达到自欺欺人效果。。。占比很小的翻译错误可以临时对照pdf的英文版。。。。。总之,没有必要特意看英文版。。。

  2.没有算法基础同学,尤其是连数组,堆栈,二叉树的遍历,几个基本排序算法的代码都写不出来的同学,别看这本书。。。虽然这本书也会提这些东西,但是,它基本是做个引子,然后引入更深的东西。。。就好比,小学数学没学好,直接去学大学数学一样。。。所以先从小学数学学起(先学一本最基础的数据结构)。

  3.如果浏览目录发现一半以上的东西是完全没见过的,那么在第2条的基础上,去poj练一两个月,把网络流的基本算法步骤,凸包,并查集,线段树,贪心动态规划,逆序数,以及基本的数论算法之类的东西给补上。。。不然就好比,高中毕业的你直接看《苔丝》之类的英文小说一样,一段话里面有二三十个单词认识,临时去查,去标记特别痛苦。。根本受不了小说的气氛韵味

  4.在做好2.3的基础上,如果乐于探究算法的原理,想知其然并知其所以然,而且又有很多时间(几百个小时吧),这样就可以读这本书了。。我读这本书的证明部分是有个比较独特方法:不要把自己当成一个读者,而是一个交流者,和这本书的作者大师)交流。。比如,它一般是要在做一个大证明之前会先抛出这个证明结论,你看到结论后,如果比较感兴趣,可以先自己试着去探索一下,证明一下,探索几十分钟后,哪怕没有探索出结果,那也是多少有了自己的一点收获,然后带着你的收获再来看这本书的证明,就像你和大师交流一样。。。

  5.别把这本书做入门书,说是入门书的人要么就是特别厉害而且特别不负责任的,要么就是啥都不懂的人以为看到“导论”两个字就认为特别基础的人。

  6.关于数学,首先必须是大学毕业的,学过高等数学,矩阵和离散数学的,如果没学过这几本,那么里面的东西也真够呛,原因同2。。如果学过但是忘了,那么书的附录部分会有复习,看一下就可以了。。。如果看了还是搞不懂书里面的推理,那么基本就是你可能不太适合读这类书的证明部分,不太适合搞研究。。。仅此而已。。。

  7.要想完成度比较高的话,还需要不怕死的精神。比如那个斐波那契堆,vEB树,网络流的证明部分,还有NP那一章节的证明,看着特别唬人,其实只要不怕死,硬着头皮一行一行啃,其实也能过,而且后面的题目却不算难。。。

  8.小马过河的典型案例,小马过河,在硬是“不走桥”这个前提下。算法导论很有这个意味。。。老牛说比较浅,松鼠说很深,真正我自己淌过去的时候才发现不是很深也不是很浅。。。。。。想起大学的日语N1的高分之日,以及托业900的笑傲之时,都一样的。。。

  9 .算法导论本身内部有很多明的或者暗的承接关系,明显的证明之间互相引用的承接关系我就不讲了,暗的承接关系比较有意思。比如12章开始,二叉树是2叉的东西,13章补充,14章扩张,之后18章是若干叉的B树,19章的logN叉,20章的√N叉,之后习题中补充了n的1/3叉,等等。。1叉就是链表,而N叉就是数组和最初的第10章相对。。。

  比如还有一条是斐波那契数,4-4那一题就讲了点。。16章的动态规划的两个思路。19章的斐波那契堆又讲了点,后面的31-3又结合数论讲了些,如果再结合30-1的那题,以及31.1那章节之前的扯淡部分的内容,还能优化。。看了第27章后啥循环都想写成动态多线程的,再优化一次。无穷无尽了。

  10 . 对于翻译的补充,12.3-5坑了我好久,严重翻译错误。21.4的讲解里“一个增长非常慢的函数与其增长非常慢的逆函数”,也是一个非常屌的错误。。还有第33章末尾的注记里面,那个“指南针和尺子”作图,也是亮瞎了我的眼。。

  11. 有一些题目真的不是努力就可以的,有时还需要灵感,也就是书前言说的创造力。。比如5.1-3。。。很有意思的东西,想出来时,贝叶斯,灵光一闪。。哈哈。装B必备

  12. 读到后面整个人会进入一种奇妙状态,比如读到最短路径,网络流那一章,闭上眼睛整个脑子里就有那些网络啊,流动啊,那个预流就好像一个海湾里一个浪打出去,挤着出湾口出去,没出去的,就被礁石挡回来,来回激荡。。而floyd_warshall就好像一把小石子丢到一个平静池塘里,千万小涟漪同时向外扩散。。。而负权环,就算是池塘有个无底洞,有个塌陷的大漩涡吧。。。

  还有网络流的证明部分,那个最小割和最大流,后面线性规划,也是,两种相辅相成的东西。。镜像一般,一实一虚,虚到实,实到虚,虚实结合。。。好奇妙。。。还有FFT那个美丽蝴蝶,,等等

  有一回在动车上,我在看书,别人问:“你看这些公式怎么不用草稿纸啊。”我回了句:“你知道盲棋吗?”有好多题,其实就是一个比较感性想法,然后,哈哈,当然不用草稿纸,理性的推理也能建立在感性的想法上,重要的是想法。

  后来看附录矩阵部分时,也基本是直接在脑子里完成了递归证明,当时感觉自己屌爆了,么么大。

  13. 本人读算法导论时,直接事先在微信朋友圈喊了一句,说要单枪匹马干掉,,然后每个周六都有进展直播,当我遇到苦难郁闷地去刷朋友圈时,哈哈,当初那个状态,还有萌妹子点赞呢,瞬间,满血满蓝回归了。。当然,好多时候,脑子会过热,这个时候,冷却与放纵是必须的。

  14 本人是双子座思维跳跃性格分裂,所以评论也就跳跃与分裂了,哈哈。

  ------------------------补充分割线-------------------------------

  跟评论的人吵起来了。。也是,毕竟这篇满满的负能量嘲讽,阿Q文章自然会让不少人不满。。算法导论本身也就是一个不上不下的书,说研究性,大数据的那些数据挖掘的博士们可瞧不上这本呢,说工程性,hadoop的工程师们可瞧不起这本呢。说竞赛性,那些ACM国际大奖的人可瞧不起这本呢。

  可能某些话不慎得罪了某些人,想想,打了阿Q的某些人如果听到,阿Q说:“儿子打老子”之后,一定还会回来补一拳吧。

  我曾经给自己保证过,我哪天真的读完了算法导论,我可以昂首挺胸离开那家裁我的公司。我做到了。

  我现在真觉得我可以在算法部分“虐大数据部门的某些人”,我真这么觉得。。。这本书的知识现在只是我算法能力的一个真子集。读完后的这两个月,我每天仍然都在变强。

  -----------------------补充分割线-----------------------------------

  下面回复中有不少人关心我的状况,我很菜以至于很多事情无能为力。这曾经只是个童话而已。

  算法算是彻底和我无缘了。

  真想找个方向一直干下去,奈何造化弄人,我这一年因为工作的安排,写了下go的并发调度,写了python的爬虫,还搞了点ES。。。毕竟菜,低人一等,只能都答应下来。

  算法导论多少还是帮助了我吧,至少我在分析性能相关的模块的时候会更加理性,更加实事求是。。

  因为做了一件别人眼里不容易的事情,所以,后面工作胆子就比较大,先喊出来再去做,比如去看个go的运行时然后获取灵感加入到并发调度中,或者去突击下ES和lucene源码写个parser的plugin之类的。。。整个人放的比较开,敢做事,敢做成事,比较有韧性。。。虽然级别还是很低,年限也很低。。。有时自我安慰(吹牛):干一样的活,拿半份工资。诶。。。

  《算法导论(原书第3版)》读后感(二):果然不同学科的人思路完全不一样

  这本书对于我来说可能并没有什么用,但是花了这么长时间却让我觉得很值得。

  从这本书我看到了完全不同的思维方式,之前我曾感受到了物理和化学在认识问题上思路的差异,这里我又看到了计算机方面迥然不同的思路。

  从生产上来看,品质,数量和时间是无法同时达到最佳的; 但是对于算法来讲,就是希望利用现有的资源,使得计算的速度和结果都达到越来越好。同时计算机方面的思路是利用计算机相对人的最大优势,即可以快速重复准确的进行一种操作,来解决一些非常复杂的问题。这都是和之前我思考问题的方式截然不同的情况,也是让我觉得受益匪浅的方面。还有就是数据结构方面的讨论,第一次让我了解到数据结构对于算法和计算机运行时间的意义,也让我反过来思考自己的课题,是否也可以应用其中的思想。

  虽然读完了这本书我仍然没有学会编程,也不会如何进行算法实现,但是这本书对于我在科学方面的思考是非常有启迪的,尤其对于这种从算法方面作为讨论的书籍,也希望大家不要仅仅看到了其中的具体细节,而是要看到很多不同的思路。

  遗憾的是我的数学基础比较弱,所以数论和NP完全那两部分都没有怎么看懂。还有就是编程方面还有待实现。估计这本书在将来也会有机会不断的重新翻阅,从中不断的汲取营养。

  《算法导论(原书第3版)》读后感(三):A lot of typos in the Chinese translation

  For example, the code in page 152:

  quot;

  HASH-SEARCH (T,k)

  i=0

  repeat

  j=h(k,j)

  if T[j]=k

  return j

  i=i+1

  until T[j]==NIL or i==m

  return NIL

  quot;

  Obviously it should be j=h(k,i) instead of j=h(k,j) at here. Similarly at page 164, the Chinese translation of the explanation of "TREE-SUCCESSOR" is simply too confusing and wrong. The interested reader should read the English version instead.

  《算法导论(原书第3版)》读后感(四):算法导论(原书第3版)

  在有关算法的书中,有一些叙述非常严谨,但不够全面;另一些涉及了大量的题材,但又缺乏严谨性。本书将严谨性和全面性融为一体,深入讨论各类算法,并着力使这些算法的设计和分析能为各个层次的读者接受。全书各章自成体系,可以作为独立的学习单元;算法以英语和伪代码的形式描述,具备初步程序设计经验的人就能看懂;说明和解释力求浅显易懂,不失深度和数学严谨性。

  全书选材经典、内容丰富、结构合理、逻辑清晰,对本科生的数据结构课程和研究生的算法课程都是非常实用的教材,在IT专业人员的职业生涯中,本书也是一本案头必备的参考书或工程实践手册。

  第3版的主要变化:

  新增了van Emde Boas树和多线程算法,并且将矩阵基础移至附录。

  修订了递归式(现在称为“分治策略”)那一章的内容,更广泛地覆盖分治法。

  移除两章很少讲授的内容:二项堆和排序网络。

  修订了动态规划和贪心算法相关内容。

  流网络相关材料现在基于边上的全部流。

  由于关于矩阵基础和Strassen算法的材料移到了其他章,矩阵运算这一章的内容所占篇幅更小。

  修改了对Knuth-Morris-Pratt字符串匹配算法的讨论。

  新增100道练习和28道思考题,还更新并补充了参考文献。

  《算法导论(原书第3版)》读后感(五):书非常好, 就看你肯不肯花时间来看了

  书非常好, 就看你肯不肯花时间来看了, 这本书很多人对书名“导论”一直存疑, 认为这本书很好, 但不适合入门。 但是我认为这本书对算法入门的人来说也完全适合的, 算法方面很多人推荐入门《算法》 《数据结构与算法分析》, 首先是这两本书的代码都是可以运行的, 内容也很容易理解。 《算法导论》里面代码是伪代码, 其次里面很多证明会让人摸不清头脑, 但是里面对算法的分析都是精华啊, 需要的数学知识书的附录也说了, 你如果具备了那些数学知识, 看懂也只是时间问题, 作者在Quora还是哪个论坛忘了, 也说过, 如果你每天花6小时在这上面, 不出一年你就可以看完了。 如果大家没时间或数学基础不好的话还是推荐上面两本书《算法》、《数据结构与算法分析》看看吧, 也不差。

  《算法导论(原书第3版)》读后感(六):数学基础较好的还是挺容易看的

  感觉翻译没传说中的烂,甚至可以说在我看过的翻译书中算好了,不过还是英文对着看的,怕哪里漏了。

  其实本书在有了一定数学基础来说(至少离散概率论微积分基础掌握的较好,如果运筹学组合学图论也看过就更好了,我当时差不多是都看过一两本入门书的水平),看起来是很快的,我之前大概两三周连正文加习题就看完了,很多东西其实讲的都是纯数学理论的一个子集,之前都看过了。看之前还怕难,因为网上传的很难,然后发现和许多大部头纯数学书比起来相当简单,证明的理论性也不是很强,数学公式更是比我想象的少得多。

  话说。。就这点习题还有人吐槽习题太多的?我还觉得习题太少,大部分太简单了,你们怕是没看过真的习题多又难的教科书哦,我看过的一些书都是一小章就有50个题的...

  《算法导论(原书第3版)》读后感(七):习题2.2-4的翻译

  上图是译文,中间是google翻译,下图是原文

  http://ww1.sinaimg.cn/large/67b05ff9jw1e19ua44z8hj.jpg

  原文:

  2.2-4

  How can we modify almost any algorithm to have a good best-case running time?

  翻译:

  2.2-4

  我们可以如何修改几乎任意算法来使之具有良好的最好情况运行时间?

  谷歌翻译:

  我们怎样才能修改几乎所有的算法有一个良好的运行时间最好的情况吗?

评价:中立好评差评
【已有2位读者发表了评论】

┃ 《算法导论(原书第3版)》读后感10篇的相关文章

┃ 每日推荐