对于整数数组,排序数组的效率最低的方法是什么。该功能应在每个步骤中取得进展(例如,无无限循环)。该算法的运行时间是多少?
答案 0 :(得分:9)
对任何事情都没有最低效的算法。这可以很容易地通过矛盾来证明,只要你接受这一点,从任何算法开始,都可以构造另一个等效但效率较低的算法。
答案 1 :(得分:5)
Bogosort的平均运行时间为O(n*n!)
,哎哟。
答案 2 :(得分:3)
stupid sort肯定是最差的算法。这不是一个无限循环,但这种方法最坏的情况是O(inf)
,而avarage是O(n × n!)
。
答案 3 :(得分:2)
我能用运行时有限上限思考的效率最低的算法是置换排序。我们的想法是生成输入的每个排列(组合)并检查它是否已排序。
上限为O(n!),当数组已经排序时,下限为O(n)。
答案 4 :(得分:2)
您可以通过生成所有唯一排列并在事后检查数组是否已排序,在O(n!*n)
中执行此操作。
答案 5 :(得分:1)
这将有一个上限(第一次猜测:O(n ^(n * m)?)。
答案 6 :(得分:0)
奇怪的问题,通常我们是最快的。
找到最高并将其移至列表中。重复上一步,直到原始列表只剩下一个元素。你保证O(N ^ 2)。
答案 7 :(得分:0)
Bogosort是一种使用shuffle的最差排序算法。但从另一个角度来看,它在一步中排序数组的可能性很小:)
答案 8 :(得分:0)
" Worstsort"复杂度为,其中阶乘n次迭代m次。可以找到Miguel A. Lerma的论文here。