
- 一个算法的时间复杂度被描述为一个渐近函数,它依赖于算法的输入大小 。一个主要的区别是阶乘,指数和多项式复杂度函数 。
多项式(Polynom)是一种只涉及加、减、乘和非负整数指数运算的构造,因此不是指数或阶乘增长 。选择多项式来表示有效的计算似乎是任意的,然而,随着时间的推移,它从许多角度证明了自己的合理性 。
例如,多项式在加法、乘法和组合下的闭包保留了自然编程实践中的效率概念,比如将程序链接到一个序列中,或者将一个程序嵌套到另一个程序中
具有多项式时间复杂度的算法被称为“高效” 。
多年来,为了有效地解决哈密顿循环决策问题,科学家们进行了许多尝试 。其中一种是Held-Karp算法,它能在指数时间内解决这个问题 。然而,没有已知的算法可以在多项式时间内解决这个问题,因此,它仍然被认为是一个难题 。

- 迈克尔·赫尔德,理查德·史克和理查德·卡普 。
这种现象也出现在其他难题中,例如数独决策问题——给定一个不完整的数独网格,我们希望知道它是否至少有一个有效的解决方案 。
任何提出的数独解决方案都可以很容易地验证,并且随着网格的增大,检查一个解决方案的时间会多项式的增长 。然而,所有已知的寻找解决方案的算法,对于困难的例子,时间会随着网格的增大呈指数增长 。
与哈密顿路径决策问题相似,目前还没有任何已知的算法可以有效地解决数独问题,但是,只要给出一个解,就可以有效地验证该解 。
似乎许多其他决策问题都具有这一特性——不管它们是否能被有效地解决,它们所提出的解决方案都能被有效地验证 。这类问题被定义为NP 。
如果一个决策问题的解能被有效地验证,那么这个决策问题就是NP问题 。
首字母缩写NP代表不确定性多项式时间(尽管人们普遍认为NP的意思是“非P”) 。
进一步思考问题的可解性与其解的可验证性之间的关系,我们可以得出下一个结论:如果一个决策问题是有效可解得,那么它的解必须是有效可验证的 。
猜你喜欢
- 锦鲤一般养几条最好 锦鲤是什么鱼
- 瑶的铭文怎么配最强 这套铭文绝对强
- 大自然中的指南针有哪些? 大自然中的指南针是什么
- fgo黑贞技能材料
- 目前智能手机内存最大是哪几款 内存最大的手机排行
- 购买的基金应该卖出的最佳时间 基金什么时候卖出最合适
- 怀旧服法师装备搭配 原来这样搭配最厉害
- 冬天养生吃五种蔬菜 5种冬季最养生的蔬菜介绍
- 最火qq名字 qq的名字大全
- 财神应该摆在哪里最招财 财神摆在哪里好
