这种排序算法有什么作用?

时间:2015-07-23 15:30:53

标签: algorithm sorting pseudocode

我目前正在攻读考试,在我的一位教授的旧考试中,他给出了这个算法,应该对其进行分析...... 这是一个从1到2n-1的数组字段,n是2的幂,在任务a)中n等于8,给出8-15的密钥,我们将尝试算法并告诉他,m值是被退回。 我个人有m = 4,但我不确定它是对还是错,我更愿意去了解,算法做了什么...... 不幸的是,我只是有一个副本作为图像,无法在互联网上找到代码......

pseudocode for the algorithm

1 个答案:

答案 0 :(得分:0)

我得出结论,while循环无限期地运行,因为f(1)f(2)都等于2.所以m是f(3),确实是4。

在第一个for循环中,元素以两个为一组进行访问,较小的一个被分配给索引i的相应元素,但尚未定义。在四次迭代之后,访问所有先前定义的数字,并且现在访问2个较小的数字(来自之前的执行)。此外,f还可获取配对信息。

现在数组看起来像这样[2,2,4,3,2,5,4, 3,7,2,8,5,6,9,4]注意:第一个元素和f(1)始终是范围a[n...2n-1]中最小的数字,其中n是2的幂

m被定义为2或4中更大的一个(a [2]和[3]),显然是4. k比f(1)更相同如在数组中:2(在if m中被重新分配为4)

所以现在我提到的问题是k = 2f(k) = f(2) = 2 = k k 从不大于n - 1所需的问题突破while循环=>没有答案是答案;)