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

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

找出 100 个数字中的最小值和最大值所需的最少比较次数是 ______________。
(一) 148
(二) 147
(三) 146
(四) 140答案:(一)
说明:从 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,因为我们不需要在第一步更新 min 或 max。

循环关系为:

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

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

这个问题的测验