Algorithms | Analysis of Algorithms | Question 17

Let s be a sorted array of n integers. Let t(n) denote the time taken for the most efficient algorithm to determined if there are two elements with sum less than 1000 in s. which of the following statements is true? (GATE CS 2000)
a) t (n) is 0 (1)
b) n < t (n) < n {log_2 n}
c) n log 2 n < t (n) <  {n \choose 2}
d) t (n) =  {n \choose 2}

(A) a
(B) b
(C) c
(D) d


Answer: (A)

Explanation: Let array be sorted in ascending order, if sum of first two elements is less than 1000 then there are  two elements with sum less than 1000 otherwise not. For array sorted in descending order we need to check last two elements. For an array data structure, number of operations are fixed in both the cases and not dependent on n, complexity is O(1)

Quiz of this Question



My Personal Notes arrow_drop_up