📜  门| GATE-CS-2014-(Set-1)|第65章

📅  最后修改于: 2021-07-02 17:17:26             🧑  作者: Mango

找到最小和最大100个数字所需的最小比较数是______________。
(A) 148
(B) 147
(C) 146
(D) 140答案: (A)
说明:从n个数字中找到最小和最大元素的步骤:

1. Pick 2 elements(a, b), compare them. (say a > b)
2. Update min by comparing (min, b)
3. Update max by comparing (max, a)

因此,我们需要为每个2个元素进行3个比较,因此所需比较的总数将为(3n)/ 2 – 2,因为我们不需要在第一步中更新最小值或最大值。

递归关系将是:

T(n) = T(⌈n/2⌉)+T(⌊n/2⌋)+2 = 2T(n/2)+2 = ⌈3n/2⌉-2

通过将值n = 100设为(3 * 100/2)-2 = 148 ,这就是答案。

这个问题的测验