ACM_算法竞赛经典入门_ 强烈推荐的一本好书



 


这本书虽然讲的是算法竞赛的内容,但里面涉及的很多算法和内容比较适合计算机系的学生练习编程,
对于掌握好编程和数据结构有很大的帮助。
将这本书学精,把后面的习题都到oj上ac。
那么你的数据结构和编程已经有很深的功底,可以应付任何公司的技术面试(包括ms,google,baidu)

总之,学了以后,再也不感觉计算机神秘了,什么新技术,高科技,就是那么回事情,万变不离其宗,这个宗,有很大部分都在这本书中。

不过,这本书很难学,有时候一个习题要耗费半天甚至一天。
要有毅力学通,你就可以藐视一切编程语言,一切计算机技术。

本人从上个月入手这本书到现在,一直在不停的ac。计算机与我之间的隔膜,感觉越来越薄了。
当你有能力编写一个编译器的时候,任何编程语言对你来说,都是小case了。你已经不需要学任何新的编程语言了。
看到一种新技术,就能知道这种技术最底层的算法实现。
比如google地图,是如何搜索地点的?可以转换为一个图搜索,深度优先遍历,或广度优先遍历,然后是排序。
所 谓万变不离其宗,这个宗,你把握了,可以说你已经学通了计算机。你的内功深厚到一定程度(至少独立编写调试过10万行以上代码,对经典算法,搜索,排序, 数据结构的操作了如指掌,可以条件反射地写出相关算法的代码),那么学那些花拳绣腿,简直是小儿科了,而那些内功不深的人,让他们痛苦去吧,总要不停的学 新技术。其实在高手的眼中,什么c++,c#,java都是一回事,都要编译成机器码,到最后调用cpu的硬指令完成工作,实际上是一回事。什么 asp.net. php, jsp, 其实都是一回事,都是http协议的实现,本质是一样的,只不过形式不同,什么linux,windows,unix,其实都是一回事,底层的操作系统原 理其实都很类似,之所以你觉得不一样,要重新学习,是因为你不了解原理,内功不深的原因。

你可能感兴趣的:(ACM_算法竞赛经典)