How to find the best way to sort 8 elements and prove that there is no better way (no more efficient way)?
本问题已经有最佳答案,请猛点这里访问。
Possible Duplicate:
Fastest sort of fixed length 6 int array
号
任务是找到一种方法,用最少的比较数(而不是操作)对8个随机数进行排序。我希望我必须使用qsort(将数组除以一半,排序然后合并等等)。我想一定是流沙。对于8个元素,比较的数目是17,我必须证明没有办法对16个(n减去1)比较的随机数组进行排序。
谢谢
任何情况下,也必须是最坏的。我在学习的第一年,所以我不认为我们必须做一些特别的事情(我学习数学而不是它)。我用的是mergesort!事先谢谢。
MERGEASORT/MERGE-Inplation SOUR Will require 16 comparations for N=8,which is the minimum worst case number of comparations.
http://oeis.org/a001768(Mergesert Comparations number)
http://oeis.org/a036604(Minimum number of comparations in general)
See also最小对比数的阵列输出
编辑:无需假设"随机数"是范围限制的积分。如果你可以假设价值范围,那么就有别的选择。
RADIX substances requires no comparation at all: