📜  门|门模拟 2017 |问题 37

📅  最后修改于: 2021-09-24 05:14:03             🧑  作者: Mango

考虑在未排序数组中计算 min-max 的问题,其中 min 和 max 是数组的最小和最大元素。算法 A1 可以在没有分治法的情况下计算 a1 比较中的 min-max。算法 A2 可以通过线性扫描数组来计算 a2 比较中的 min-max。考虑到最坏的情况,a1 和 a2 之间的关系是什么?

(A) a1 < a2

(B) a1 > a2
(C) a1 = a2

(D)取决于输入

答案:(乙)
说明:当使用分治法求数组中最小-最大元素时,比较次数的递归关系为
T(n) = 2T(n/2) + 2 其中 2 用于比较左右子数组的最小值和最大值

在求解时,T(n) = 1.5n – 2。
在进行线性扫描时,在最坏的情况下需要 2*(n-1) 次比较才能在一次通过中找到最小值和最大值。这个问题的测验