算法分析与设计基础

来源:互联网 发布:淘宝掌柜名可以改吗 编辑:程序博客网 时间:2024/05/29 14:32

 算法分析与设计基础,主要向我们介绍了算法分析的方法以及一些基础性的概念,算法是解决问题的一系列精确的指令,对于同一个问题存在多种或者零种算法,从算法的角度可以将问题划分为P问题和NP问题,评估一个算法的优劣,主要是观察随着输入规模的扩大,其时间复杂度O的变化规律,该变化越平缓,则表明该算法具备较好的稳定性和高效性,我们研究算法的重要目标之一就是找尽可能平缓的变化规律.

 主流的算法思想主要包括以下部分:

1.蛮力法:解决问题最直接的方法,从问题的表面出发,寻求最直接的方案,在问题规模不大的时候,可以被接受,他的价值在于为后续的算法提供了基础性的参照标准.

2.分治法:分而治之,将复杂的问题,逐步分解,直至可以解决的层次,然后求解,然后将所求的解合并为原问题的解,这种算法为我们解决复杂问题提供了良好的思路,即复杂问题简单化,然后再逐步求解.合并简单问题的解,从而得出复杂问题的解.

3.减治法:即减小问题的规模,将大规模的问题逐步细化,求解并合并,它与分治法的区别在于它着重处理的是问题的规模,而且减的因素也不同.

4.变治法:即将问题转化为其他的等价问题,以利于我们的求解,

5.贪婪法:局部寻求最优的算法,但不能保证整体一定是最优的.

6.动态规划:根据问题面临的情况,综合使用上述几种算法,以达到动态规划的效果,它更多的是运用算法策略.

今天就写到这里了,欢迎大家指点

 

 

原创粉丝点击