在无序列表中查找既不是最大值也不是最小值的元素需要多少次比较?

时间:2015-12-31 20:42:20

标签: algorithm

如果我们有一个无序列表有n个不同的元素所以现在我在时间复杂度之间混淆为Θ(n)或Θ(1),因为在最坏的情况下我们可能最终进行n次比较,但是如果我采取一次3个元素然后我可以在Θ(1)时间内找到第二大元素,所以我对这两种方法感到困惑,请指导。

2 个答案:

答案 0 :(得分:1)

非常简单:

第一种方法有很多完全无用的开销。由于列表仅包含不同的项目,因此前三个项目中的一个必须满足既不是列表中最大也不是最小元素的约束。所有其他比较都是完全无用的,目的是找到匹配约束的任意元素。

答案 1 :(得分:1)

将前三个元素相互比较。 (1-2,1-3和2-3:3比较)。