 
Summary: Com S 633: Randomness in Computation
Lecture 13 Scribe: K.S.Gopalakrishnan
Managing and analyzing huge data sets forces us to reconsider the tra
ditional notions of eÆcient algorithms. Processing such massive data sets
in polynomial time is by far too expensive, and often even linear time algo
rithms may be too slow. Often we would like to design algorithms that run
in sublinear time.
Consider the problem: Given an array of distinct elements, we would like
to know whether it is monotonic increasing. Clearly, this problem can be
solved in linear time. Can we design an algorithm that runs in less than linear
time? Observe that to fulll requirement \sublinear time", the algorithm can
not even read its input entirely. Any sublinear time algorithm can look only
a portion of the input. In such scenarios it might be too ambitious to solve
the problem \exactly", we can only hope to solve an \approximate" version
of the problem.
Denition: A list of size n is close to sorted if by changing at most n
elements, the list becomes sorted.
Observation: If a list close sorted if and only if it has an increasing
subsequence of length (1 )n.
If the list is close sorted, then by changing at most n elements, the list
