Order Notation Warmup

advertisement
Order Notation Warmup
Analyzing Bubble Sort
Sort (a1,…,an):
for i := 1 to n-1
for j := 1 to n-i
if aj>aj+1 then interchange aj↔aj+1
How many comparison steps as a function
of n?
• Inner loop is executed
n-1 times when i=1
n-2 times when i=2
…
1 time when i=n-1
For a total of 1+2+3+…+(n-2)+(n-1) =((n1)∙n)/2.
The exact running time depends on details
of the code (initializations, for example),
the quality of the compiler, the speed of
the computer, etc.
Let T(n) be the maximum running time of
this program for any array of length n.
(Small variations due to whether swaps
actually occur)
• T(n) = a2n2 + a1n + a0 for some constants
a0, a1, a2.
• But the last two terms become increasing
inconsequential as n increases since a1n +
a0 = o(a2n2).
• So the most useful thing to say is that
T(n)=𝚯(n2) (why both upper and lower
bound?)
Download