📜  门| GATE-CS-2000 |问题 15

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

让 s 是一个由 n 个整数组成的排序数组。让 t(n) 表示最有效的算法确定在 s 中是否有两个元素的总和小于 1000 所花费的时间。下面哪个描述是正确的?

a) t (n) 是 O(1) b) n < t (n) < n {log_2 n} c) n log 2 n < t (n) < {n \choose 2} d) t (n) = [/Tex]{n \choose 2} [/Tex]

(一)
(乙)
(C) c
(D) d答案:(一)
说明:让数组按升序排序,如果前两个元素之和小于1000,则有两个元素之和小于1000,否则没有。对于按降序排序的数组,我们需要检查最后两个元素。对于数组数据结构,两种情况下的操作次数都是固定的,不依赖于 n,复杂度为 O(1)
这个问题的测验