令s为n个整数的排序数组。令t(n)表示最有效的算法确定是否有两个元素的和在s中小于1000所花费的时间。下列哪项为真? (GATE CS 2000)
a)t(n)为0(1)
b)n
c)n log 2 n
d)t(n)=
(一)
(B) b
(C) c
(D) d答案: (A)
说明:让数组以升序排序,如果前两个元素的总和小于1000,则有两个元素的总和小于1000,否则不然。对于以降序排序的数组,我们需要检查最后两个元素。对于数组数据结构,两种情况下的操作数都是固定的,并且不依赖于n,复杂度为O(1)
这个问题的测验