码迷,mamicode.com
首页 > 编程语言 > 详细

如何学习算法

时间:2015-07-22 17:58:47      阅读:118      评论:0      收藏:0      [点我收藏+]

标签:

目前浅显地看过《数据结构与算法分析》 《算法设计与分析基础》两本涉及到算法的书。

简单认为,学习算法的重点和难点都不在代码实现上,而在:

1、数学逻辑式       这个是写出伪代码的关键

2、算法正确性证明     证明该算法能得到最优解还是比较优解

 

数学逻辑式,从两方面考虑:一种是迭代,另一种是递归。

迭代思维相对容易理解,它的要求是:一、可以明确知道循环次数;二、每次循环中操作对象可以用变量表示,如:

for i=0 to i=n-1 do:
    a[i] ....

递归思想其实本质上就是数学归纳法,它的思路是: f(n) = F(f(n-1)) .... 或者 f(n) = F(f(n/2)) ....

所以它的关键在于想清楚,怎么用n-1或者n/2的式子去表示n的

 

算法正确性证明,这个也还是不太懂,基本都是数学归纳法

如何学习算法

标签:

原文地址:http://www.cnblogs.com/johnchow/p/4667883.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!