Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/algorithm/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Algorithm 遍历集合的所有置换的问题的可处理性是什么?_Algorithm_Recursion_Time Complexity_Complexity Theory - Fatal编程技术网

Algorithm 遍历集合的所有置换的问题的可处理性是什么?

Algorithm 遍历集合的所有置换的问题的可处理性是什么?,algorithm,recursion,time-complexity,complexity-theory,Algorithm,Recursion,Time Complexity,Complexity Theory,我想实现一个递归算法来模拟嵌套for循环,但其计数在运行时确定。为此,我必须编写一个递归算法,遍历集合的所有置换 我对它的易处理性很好奇。我认为,由于置换涉及阶乘函数,这个问题应该是NP难的。我仍然需要你对这个问题的见解。迭代所有置换是O(n!),这是最糟糕的。它比多项式更糟糕,甚至比指数更糟糕。这甚至不是NP难,更糟!从数学上讲 O(北卡罗来纳州)⊂ O(中国)⊂ O(n!) 或者用英语说 多项式

我想实现一个递归算法来模拟嵌套for循环,但其计数在运行时确定。为此,我必须编写一个递归算法,遍历集合的所有置换


我对它的易处理性很好奇。我认为,由于置换涉及阶乘函数,这个问题应该是NP难的。我仍然需要你对这个问题的见解。

迭代所有置换是O(n!),这是最糟糕的。它比多项式更糟糕,甚至比指数更糟糕。这甚至不是NP难,更糟!从数学上讲

  • O(北卡罗来纳州)⊂ O(中国)⊂ O(n!)
或者用英语说

  • 多项式<指数<阶乘
对于NP问题,其解必须在多项式时间内可验证。所有置换的集合大小为n!∈ O(n!),并且不可能在多项式时间内进行验证,因为验证需要迭代整个列表


从一个角度来看这有多糟糕,O(n!)是一种排序算法的复杂性类别,在这种算法中,你可以通过洗牌来对一副牌进行排序,然后看看你是否幸运。

对所有排列进行迭代就是O(n!),这差不多和它得到的一样糟糕。它比多项式更糟糕,甚至比指数更糟糕。这甚至不是NP难,更糟!从数学上讲

  • O(北卡罗来纳州)⊂ O(中国)⊂ O(n!)
或者用英语说

  • 多项式<指数<阶乘
对于NP问题,其解必须在多项式时间内可验证。所有置换的集合大小为n!∈ O(n!),并且不可能在多项式时间内进行验证,因为验证需要迭代整个列表


从长远来看,这有多糟糕,O(n!)是一种排序算法的复杂度,你可以通过洗牌来对一副牌进行排序,看你是否幸运。

@user58697这正是我的答案所说的,不?对不起,我一看到NP就被冲走了。@user58697这正是我的答案所说的,不?对不起,我一看到NP就被迷住了。