如何学习算法
2015-07-22 16:39
239 查看
目前浅显地看过《数据结构与算法分析》 《算法设计与分析基础》两本涉及到算法的书。
简单认为,学习算法的重点和难点都不在代码实现上,而在:
1、数学逻辑式 这个是写出伪代码的关键
2、算法正确性证明 证明该算法能得到最优解还是比较优解
数学逻辑式,从两方面考虑:一种是迭代,另一种是递归。
迭代思维相对容易理解,特点是:
一、可以明确知道循环次数;
二、每次循环中操作对象可以用变量表示,如:
递归思维特点:
本质上就是数学归纳法,数学式: f(n) = F(f(n-1)) .... 或者 f(n) = F(f(n/2)) ....
算法正确性证明,这个也还是不太懂,基本都是数学归纳法
简单认为,学习算法的重点和难点都不在代码实现上,而在:
1、数学逻辑式 这个是写出伪代码的关键
2、算法正确性证明 证明该算法能得到最优解还是比较优解
数学逻辑式,从两方面考虑:一种是迭代,另一种是递归。
迭代思维相对容易理解,特点是:
一、可以明确知道循环次数;
二、每次循环中操作对象可以用变量表示,如:
for i=0 to i=n-1 do: a[i] ....
递归思维特点:
本质上就是数学归纳法,数学式: f(n) = F(f(n-1)) .... 或者 f(n) = F(f(n/2)) ....
算法正确性证明,这个也还是不太懂,基本都是数学归纳法
相关文章推荐
- SRM 638 Div2
- 【GPU编解码】GPU硬编码
- 我的Android进阶之旅------>Android实现用Android手机控制PC端的关机和重启的功能(一)PC服务器端
- Javascript异步编程之二回调函数
- dos2unix将windows下的换行符转换为unix的换行符
- Java RMI之HelloWorld程序以及相关的安全管理器的知识
- struts2 ajax jquery返回json类型
- SQL数据库
- Linux支持exFAT和NTFS
- Chart.js报表制作
- 正确遍历删除List中的元素
- @清晰掉 巧妙使用位运算实现变量值交换
- struts2 ajax jquery返回json类型
- 【Java】假设你正在读取一串整数,每隔一段时间,你希望找出数字X的秩(小于或等于x的值的数目)。
- Ubuntu使用PPA安装Sublime Text
- 看到一篇串口的好文章
- 杭电 1425 sort
- java 十进制转二、八、十六进制转换函数
- poj3414
- 使用SourceTree将bitbucket的远程仓库回滚到某一次提交