谜题的例子

时间:2014-08-07 22:31:05

标签: arrays algorithm sorting computer-science puzzle

因此,其时间复杂度是线性的PUZZLE的一个例子是在数组中搜索特定值的问题:很容易证明你不能用少于n个比例来做,并且我们有一个算法它以精确的线性时间O(n)解决了这个问题。

1 个答案:

答案 0 :(得分:2)

二次方:给定一个N个整数的列表和一对整数上的任意布尔函数f,确定列表中是否存在x, y个整数f(x, y) = true f

指数:给定一组N个整数和一组整数上的任意布尔函数S,确定是否存在从列表中取得的f(S) = true整数集{{1}}

在每种情况下,我们可以通过考虑所有对/子集来解决问题。在每种情况下,如果函数是任意的并且作为输入提供,我们可以做得更好。时间复杂度当然受到函数编码的影响,但这是固定的w.r.t.列表的大小。

您可能会反对我们可以构建一个通用的"函数调整器"更智能地查找对/子集。然而,由于停止问题的不可判断性,这是不可能的:对于任意程序,很难分辨它做什么(或者,对于任意函数) ,很难说出它的计算方法。