100% found this document useful (1 vote)
60 views11 pages

CSE 417: Algorithms and Computational Complexity: Winter 2001 Instructor: Paul Beame TA: Gidon Shavit

This document discusses algorithms analysis and computational complexity. It covers big O notation, solving recurrence relations, arithmetic and geometric series, divide and conquer recurrences, and examples of algorithms like mergesort, binary search, and others. Key algorithms discussed include insertion sort, Fibonacci numbers, and master theorem for divide and conquer recurrences. Recurrence relations and summations are analyzed to determine asymptotic complexity.
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
100% found this document useful (1 vote)
60 views11 pages

CSE 417: Algorithms and Computational Complexity: Winter 2001 Instructor: Paul Beame TA: Gidon Shavit

This document discusses algorithms analysis and computational complexity. It covers big O notation, solving recurrence relations, arithmetic and geometric series, divide and conquer recurrences, and examples of algorithms like mergesort, binary search, and others. Key algorithms discussed include insertion sort, Fibonacci numbers, and master theorem for divide and conquer recurrences. Recurrence relations and summations are analyzed to determine asymptotic complexity.
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 11

CSE 417: Algorithms and Computational Complexity

Winter 2001 Instructor: Paul Beame TA: Gidon Shavit


1

Working with O-W-Q notation


Claim: For any a, b>1 logan is Q(logbn)
logan=logab logbn so letting c=logab we get that clogbn logan clogbn

Claim: For any a and b>0, (n+a)b is Q(nb)


(n+a)b (2n)b for n|a| = 2bnb = cnb for c=2b so (n+a)b is O(nb) (n+a)b (n/2)b for n 2|a| =2-bnb =cn for c=2-b so (n+a)b is W(nb)
2

Solving recurrence relations


e.g. T(n)=T(n-1)+f(n) for n 1 T(0)=0
solution is T(n)= i=1 f(i)
n

Insertion sort: Tn(i)=Tn(i-1)+i-1


so Tn(n)=i=1(i -1) =n(n-1)/2
n

Arithmetic Series
S= 1 + 2 + 3 + ... + (n-1) S= (n-1)+(n-2)+(n-3)+ ... + 1 2S=n + n + n + .... + n {n-1 terms} 2S=n(n-1) so S=n(n-1)/2 Works generally when f(i)=ai+b for all i Sum = average term size x # of terms
4

Geometric Series
f(i)=a ri-1 S= a + ar + ar2 + ... + arn-1 rS= ar + ar2 + ... + arn-1 + arn (r-1)S=arn - a so S=a (rn -1)/(r-1) If r is a constant bounded away from 1
S is a constant times largest term in series
5

Mixed recurrences
f(i)= i2i S=1 21+2 22+... + n2n 2S= 1 22+...+ (n-1)2n + n2n+1 S= n2n+1- (2 + 22 +...+ 2n) =n2n+1-(2n+1-2) = (n-1)2n+1+2

Guess & Verify


Fn=Fn-1+Fn-2 for n2, F0=0, F1=1 Guess that Fn is of the form an
therefore must have an=an-1+an-2 1 5 i.e. a2+a+1=0 a= 2 characteristic eqn

Fn=A(

1+ 5 n 1- 5 n ) +B( ) 2 2
7

Guess & Verify


1+ 5 )n+B( 1- 5 Fn=A( 2 2

)n

Solve: n=0: A+B=0=F0 n=1: (A+B+(A-B) 5 )/2=1=F1 Therefore A=1/ 5 B=-1/ 5


Now prove the whole thing by induction
8

Repeated Substitution
T(n)=n+3T(n/4) = n+ 3(n/4+3T(n/16)) = n+ 3n/4+ 9T(n/16) = n+ 3n/4+ 9n/16+27T(n/64) Geometric series:
O(log n) terms largest term n T(n)=Q(n)
9

Master Divide and Conquer Recurrence


If T(n)=aT(n/b)+cnk for n>b then
if a>bk then T(n) is Q(n logba ) if a<bk then T(n) is Q(nk) if a=bk then T(n) is Q(nk log n)

Works even if it is n/b instead of n/b.


10

Examples
e.g. T(n)=2T(n/2)+3n
2=21 so T(n)=Q(nlogn)

(Mergesort)

e.g. T(n)=T(n/2) +1 (Binary search)


1=20 so T(n)=Q(log n)

e.g. T(n)=3T(n/4)+n
3<41 so T(n)=Q(n)

11

You might also like