您的位置:首页 > 其它

算法知识点整理——第2章 递归与分治策略

2017-02-15 15:54 435 查看
第二章 递归与分治策略

1.算法总体思想
将一个难以直接求解问题分解成足够小的子问题,直到很容易求出其解为止。

2.递归函数的两个要素:
边界条件
递归函数

3.典型问题
兔子繁殖
斐波那契数列
Ackerman函数(双递归函数)

4.当算法复杂度很高时(如:阶乘),计算机运行能力对运行时间的提高效果越来越不明显。
所以 提高算法的效率显得很重要

5.递归算法的优缺点分析:
(可解决斐波那契数列进行分析)
优:结构清晰,归纳法可证明其正确性
缺:运行效率低,耗费时间,占用存储空间
解决办法:用递推实现递归

6.分治法步骤:
分解
递归求解
合并(不一定需要,如二分搜索)

7.分治法计算效率分析

 

主方法

 

8.大整数乘法
思路:将大整数分段,通过替换减少乘法的次数来提高算法的效率。

9.Strassen矩阵乘法
思路:将大矩阵分解成分块矩阵,通过替换减少矩阵乘法的运算次数来提高算法的效率。

10.棋盘覆盖
思路:将2k × 2k棋盘分解成4个2k-1 × 2k-1棋盘,用一个L型骨牌覆盖住无特殊方格的三块,递归分割就可以

11.合并排序
思路:将队列分割成相等的两段,分别排序,然后合并。(递归分割直到只剩下一个)
改进:直接两两排序,然后合并

12.快速排序
思路:大的放一边,小的放一边

13.算法之间的比较

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  算法 递归与分治