排序4个元素的下限是什么

时间:2016-09-01 13:56:05

标签: algorithm sorting

任何算法在基于比较的模型中对4个元素的任何列表进行排序所需的比较次数的最佳下限是?

我没有这个问题的答案。只想确认我是否正确。

我的解决方案 =对于下限,请选择任何列表(此处我已采用排序列表)

Ex:1,2,3,4

如果我应用冒泡排序,那么在一次通过并且仅计数3次比较(1,2)(2,3)(3,4)时,列表被排序。所以下限是3个比较。

为了增加我的知识,我也加入了这个。

如果我也对比较次数采取上限。

然后,通过决策树,我有

因为决策树的高度是log(n!),所以答案是log4! = log24 = 5

因此,它将有至少5个比较。

这两种方法都适合吗?

1 个答案:

答案 0 :(得分:2)

实际上,只需检查列表是否排序进行N-1比较,因此N-1是粗略的下界,信息理论界限是Ceil(lg(N!))~N lg(N )因为你需要区分N!排列。

后者的界限几乎是紧张但并不完美,因为已知需要进行更多比较的情况。见https://en.wikipedia.org/wiki/Comparison_sort#Number_of_comparisons_required_to_sort_a_list