最近因为专业问题读了读《算法图解》的原版《algorithms》,因为自身水平有限而且并未读完所以不对该书内容做任何学术性质的评价,仅仅就自己所读的部分向其他人分享点感想。

首先该书适合初学计算机程序语言的小伙伴,因为它真的非常非常容易懂,贯穿全书的大o法也确实挺实用的,它可以让你拥有一种全新的思路去解决一个问题或者得到一个最优解。如果会一点Python的话读这本书应该会觉得更容易些。插个题外话,个人觉得国内部分大学计算机系如果从Python教起会更好点。不是说否定国内很多大学计算机专业直接教授c语言不对,毕竟c比较难所以需要花费更多时间去学习并且熟练掌握是正确的,但是如果学习下国外大学的教法优先从Python教起会不会更好呢。因为我是一个留学党,学的就是计算机专业,我们学校和我认识的同专业的留学党都是优先从Python学起,而我们刚接触这个专业的时候并非直接学习语言而是从Alice开始培养思维,然后过渡到Python,再到java,最后才涉及到c。而到java和c的时候我们可以用很短的时间了解和简单运用java和c,毕竟语言思路是相同的只是部分细节不同,所以个人感觉如果你作为一个想学习语言的萌新的话你可以尝试从Python这种简单易学的语言学起,培养了思维后再逐渐深入。扯的有点远了,转会正题。 这本书因为定位就是入门级所以涉及的东西并不是特别难,而且通过图画以及对应的程序让读者更加容易读懂,当然,最好的方式就是亲自实践多敲键盘。学习这种专业我最深的感觉就是一定要亲自实践杜绝眼高手低,题目往往真不难,只要你肯花时间,拿笔多画画框图,多敲敲代码你一定会有收获的。

当然咯,这本书确实挺好的,但看你想怎么看了,如果只是单纯的想学习了解一些算法的话可以忽略以下内容,如果想学的更深入点的话可以稍微参考下这一段。这本书写的确实很浅显易懂,很多重点知识都只是如同蜻蜓点水一般但涉及到重点部分或者用到的部分就一带而过了,然而有一些知识却要你自己去学习的(好像是外国人的习惯,给你些基础然后根据你想到达的程度让你考虑是否要自学其他的),举个最简单的例子,像数组(array data structure,简称array)的具体理论知识就并未涉及,如果你不知道并且想了解更多你就需要自己去找相关资料去学习。书本提供的题目是第二个问题,个人觉得略微少了点,所以有的时候就需要自己找题或者自己编题来实践。

总结下,如果你是新手,这本书绝对适合你,而且个人建议搭配Python一起学习效果会更加显著。切记多练习,多码东西没有坏处!!!如果能力足够可以尝试看原版,因为我在读原版和翻译版时候就明显感觉到有些东西在原版时候的理解与读者有点差异,即使最后的结果一致,所以如果有能力或者读完了翻译版可以尝试下原版,嗯对了,想学到更多的东西一定要多查多问多交流,这样会帮助你更快更好的进步。