算法分析与设计基础
2009-06-22 12:36
363 查看
算法分析与设计基础,主要向我们介绍了算法分析的方法以及一些基础性的概念,算法是解决问题的一系列精确的指令,对于同一个问题存在多种或者零种算法,从算法的角度可以将问题划分为P问题和NP问题,评估一个算法的优劣,主要是观察随着输入规模的扩大,其时间复杂度O的变化规律,该变化越平缓,则表明该算法具备较好的稳定性和高效性,我们研究算法的重要目标之一就是找尽可能平缓的变化规律.
主流的算法思想主要包括以下部分:
1.蛮力法:解决问题最直接的方法,从问题的表面出发,寻求最直接的方案,在问题规模不大的时候,可以被接受,他的价值在于为后续的算法提供了基础性的参照标准.
2.分治法:分而治之,将复杂的问题,逐步分解,直至可以解决的层次,然后求解,然后将所求的解合并为原问题的解,这种算法为我们解决复杂问题提供了良好的思路,即复杂问题简单化,然后再逐步求解.合并简单问题的解,从而得出复杂问题的解.
3.减治法:即减小问题的规模,将大规模的问题逐步细化,求解并合并,它与分治法的区别在于它着重处理的是问题的规模,而且减的因素也不同.
4.变治法:即将问题转化为其他的等价问题,以利于我们的求解,
5.贪婪法:局部寻求最优的算法,但不能保证整体一定是最优的.
6.动态规划:根据问题面临的情况,综合使用上述几种算法,以达到动态规划的效果,它更多的是运用算法策略.
今天就写到这里了,欢迎大家指点
主流的算法思想主要包括以下部分:
1.蛮力法:解决问题最直接的方法,从问题的表面出发,寻求最直接的方案,在问题规模不大的时候,可以被接受,他的价值在于为后续的算法提供了基础性的参照标准.
2.分治法:分而治之,将复杂的问题,逐步分解,直至可以解决的层次,然后求解,然后将所求的解合并为原问题的解,这种算法为我们解决复杂问题提供了良好的思路,即复杂问题简单化,然后再逐步求解.合并简单问题的解,从而得出复杂问题的解.
3.减治法:即减小问题的规模,将大规模的问题逐步细化,求解并合并,它与分治法的区别在于它着重处理的是问题的规模,而且减的因素也不同.
4.变治法:即将问题转化为其他的等价问题,以利于我们的求解,
5.贪婪法:局部寻求最优的算法,但不能保证整体一定是最优的.
6.动态规划:根据问题面临的情况,综合使用上述几种算法,以达到动态规划的效果,它更多的是运用算法策略.
今天就写到这里了,欢迎大家指点
相关文章推荐
- 【算法设计与分析基础】8、穷举 旅行商问题
- 算法分析与设计基础(1)汉诺塔问题
- 【算法基础】由插入排序来看如何分析和设计算法
- 【算法设计与分析基础】8、背包问题
- 算法设计分析基础
- 算法分析与设计基础 (清华版)
- 算法分析与设计基础 学习笔记 第一章
- 【算法与设计分析基础】大整数乘法int[]版+分治法求幂
- 【算法基础】由插入排序来看如何分析和设计算法
- 【算法设计与分析】三个博弈论算法分析
- 贪心算法(算法分析与设计)
- Lecture Note - 北大 - 算法设计与分析 Design and Analysis of Algorithms - Wanling Qu
- 书名: 算法分析与设计
- 算法分析与设计week19--257. Binary Tree Paths
- 算法分析与设计课程作业第十八周#1
- 【算法分析与设计】【第九周】91. Decode Ways
- [Java算法分析与设计]顺序循环队列的实现
- 南邮算法分析与设计实验2 动态规划法
- 【算法分析与设计】【第十九周】55. Jump Game
- 算法设计与分析--霍夫曼树编码(C++实现)