Order Notation Warmup... 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 Tn be the
Trang 1Order Notation Warmup
Trang 2Analyzing 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?
Trang 3• 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)
=((n-1)∙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.
Trang 4Let 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?)