说来惭愧,算法导论这么牛b的一本书,我都没有系统的看过。
有时候明白一个算法的意义比理解算法本身更重要
算法导论里面那么多的数据结构和算法,不可能在实践中都碰的到。
我希望自己能在最后的学生生涯里能对这本书的内容有个大致的了解
将来可以带着问题回过来看,这本书对我来说更像是一本工具书。
关于算法,我觉得必须理清的几个问题如下,以下内容全是个人浅见,欢迎拍砖
- 什么是算法
算法是使用计算机解决实际问题的思想
- 标准流程
1.理清和描述问题
有一小部分问题是我们常见的问题,书里面也列举了很多。比如排序,查找,最值等问题
但大多的问题都是复杂的,有部分甚至是计算机也解决不了的(NPC)问题
所以要做到理清问题,必须对自己业务领域已解决的经典问题都有一定的了解,且对NPC问题也有一定了解。
这里还有个重要的地方是近似问题,NPC问题的最优解我们不一定求的出来,但是近似解有时候是可以的。
2.设计相应数据结构和算法
经典问题往往对应着经典的数据结构和算法思路
3.算法正确性证明
理论工作,实践中一般很少有人做。
4.算法复杂度分析和优化
这个还是很有意义的,复杂度分析可以让你预先对整个算法的性能表现有个预估。后面优化也会有方向些