📜  门| GATE MOCK 2017 |第37章

📅  最后修改于: 2021-06-28 17:45:45             🧑  作者: Mango

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

(A) a1

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

(D)取决于输入

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

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