计算复杂性的介绍,计算复杂性理论的理论与实践

2021-01-12 10:59:44 字数 1420 阅读 7717

1楼:騷b雪的桃

所谓计算复杂性,通俗说来,就是用计算机求解问题的难易程度。其度量标准:一是计算所需的步数或指令条数(这叫时间复杂度),二是计算所需的存储单元数量(这叫空间复杂度)的书籍。

计算复杂性理论的理论与实践

2楼:百度用户

计算复杂性的初衷是理解不同算法问题的难度,特别的是一些重要算法问题的困难性。为了确切的描述一个问题的困难性,计算复杂性的第一步抽象是认为多项式时间是有效的,非多项式时间是困难的。这基于指数函数增长速度的“违反直觉”的特性:

如果一个算法的时间复杂性为2,取输入的规模是100,在运算速度是10每秒(关于cpu速度,参见instructions per second,其中报告截止2009年,主流个人电脑的运算速度可以看作是每秒

)的情况下,该程序将会运行年,几乎是宇宙年龄。这为多项式时间被看作是有效时间提供了直观上的证据。

然而多项式的指数很大的时候,算法在实践中也不能看作是有效的。如n的多项式算法,取问题规模大小为1000,那么几乎就是2的大小。另一方面,即便一个问题没有多项式算法,它可能会有近似比很好的近似算法(参见近似算法),或有很好的启发式算法(heuristics)。

启发式算法的特点是在理论上没有精确的行为的分析,或者可以表明存在很坏的输入,在这些输入上运行很慢。然而在大多数时候,它都能快速解决问题。计算复杂性中对应的理论分析是平均复杂性理论(average-case ***plexity theory)和光滑分析(**ooth analysis)。

实际中的例子包括en:presburger arithmetic、布尔可满足性问题(参见sat solver)和背包问题。

使用递归算法计算二项式系数,并分析算法时间空间复杂性.

3楼:

|#include

usingnamespacestd;

intc(intn,intm)

intmain()

{intn,m;

cin>>n>>m;

cout<间复

zhi杂度dao

应该就是o(c(n,m)),空间复杂度应该为o(n);

算法在最坏情况,最好情况和平均情况下的计算复杂性概念及对三者时间复杂性的分析?

4楼:匿名用户

计算复杂性目前主要用计算所消耗的资源数量来量度。由于算法在计算时所消耗的资源与问题规模有关,所以通常用递增函数来估计。另外,对具体问题实例,算法的资源消耗量是不同的,通常可以估计出最坏、最好和平均三种情形下对资源消耗的数量。

对上述三者作时间复杂性分析的具体做法如下:以顺序查找为例,最坏情况是指需要搜索完所有的数据;最好情况是指搜索的第一个数据就是所要的数据;平均情况是指所获得的数据按其实际分布而言,平均需要查找比较的次数。

如何理解反腐斗争的长期性,复杂性以及艰巨性

1楼 匿名用户 长期性 腐败来自于国家体制问题,体制又不可能立马找到最完美的体制,它需要时间一点一点的完善,西方国家也没有解决腐败问题,只是比我们国家好而已。 复杂性 一套完善的体制需要很多人去完善和发现,每个人都有自己的局限性,要做到最完美的体制,这是一件很复杂 很困难的事。 艰巨性 这不是技术活...