似乎当提到为什么学习算法的时候?大多数的同学会觉得是为了应付大企业的IT面试?进而得到一个好的工作,站到一个更高的平台?
但是这里我想更深入的告诉大家算法在计算机这个行业中的重要性,可以说算法无处不在。
最常见的搜索引擎、智能机器人、推荐购物、扫雷游戏、人脸识别等。
只有学好算法才能创造出更有意义的东西,而不是简单的把数据取出来放到一个界面的就行了。
学算法很慢、需要从基础一步一步的走、不能一蹴而就。
必须必备的基础: 了解数组、堆栈、链表等线性结构,对基本算法知识有常识性了解 如 递归、遍历、算法复杂度等
学习顺序:
线性(排序)->树形结构->图形结构
最难但是最深刻的学习方式:
白板编程-> 不需要太多的代码->需要精简的算法思想来表现
Linus创始人认为优秀的程序员和平庸的程序员之间一个重要的区别就在于数据结构、很多的大企业的算法问题基本都是算法问题、而且都是基础的数据结构问题,算法的思想最重要、将算法的思想运用在数据结构上才是赢家,这就是为什么有些做了四五年的程序员依旧只能是写业务代码而无法做出创新的原因。