C o mp l e x i t y o f r e c u r s i v e f u n - - PowerPoint PPT Presentation

c o mp l e x i t y o f r e c u r s i v e f u n c t i o n
SMART_READER_LITE
LIVE PREVIEW

C o mp l e x i t y o f r e c u r s i v e f u n - - PowerPoint PPT Presentation

C o mp l e x i t y o f r e c u r s i v e f u n c t i o n s ( W e i s s 7 . 5 ) C a l c u l a t i n g c o m p l e x i t y L e t T ( n ) b e t h e t i m e m e r g e s o


slide-1
SLIDE 1

C

  • mp

l e x i t y

  • f

r e c u r s i v e f u n c t i

  • n

s ( W e i s s 7 . 5 )

slide-2
SLIDE 2

C a l c u l a t i n g c

  • m

p l e x i t y

L e t T ( n ) b e t h e t i m e m e r g e s

  • r

t t a k e s

  • n

a l i s t

  • f

s i z e n

Me r g e s

  • r

t d

  • e

s O ( n ) w

  • r

k t

  • s

p l i t t h e l i s t i n t w

  • ,

t w

  • r

e c u r s i v e c a l l s

  • f

s i z e n / 2 a n d O ( n ) w

  • r

k t

  • m

e r g e t h e t w

  • h

a l v e s t

  • g

e t h e r , s

  • .

. .

T ( n ) = O ( n ) + 2 T ( n / 2 )

T i m e t

  • s
  • r

t a l i s t

  • f

s i z e n L i n e a r a m

  • u

n t

  • f

t i m e s p e n t i n s p l i t t i n g + m e r g i n g P l u s t w

  • r

e c u r s i v e c a l l s

  • f

s i z e n / 2

slide-3
SLIDE 3

C a l c u l a t i n g c

  • m

p l e x i t y

P r

  • c

e d u r e f

  • r

c a l c u l a t i n g c

  • m

p l e x i t y

  • f

a r e c u r s i v e a l g

  • r

i t h m :

  • Wr

i t e d

  • w

n a r e c u r r e n c e r e l a t i

  • n

e . g . T ( n ) = O ( n ) + 2 T ( n / 2 )

  • S
  • l

v e t h e r e c u r r e n c e r e l a t i

  • n

t

  • g

e t a f

  • r

m u l a f

  • r

T ( n ) ( d i ffjc u l t ! )

Tie r e i s n ' t a g e n e r a l w a y

  • f

s

  • l

v i n g a n y r e c u r r e n c e r e l a t i

  • n

– w e ' l l j u s t s e e a f e w f a m i l i e s

  • f

t h e m

slide-4
SLIDE 4

A p p r

  • a

c h 1 : d r a w a d i a g r a m

slide-5
SLIDE 5

n n / 2 n / 2 n / 4 n / 4 n / 4 n / 4 n / 8 n / 8 n / 8 n / 8 n / 8 n / 8 n / 8 n / 8 O ( l

  • g

n ) “ l e v e l s ” O ( n ) t i m e p e r l e v e l T

  • t

a l t i m e i s O ( n l

  • g

n ) ! T ( n ) 2 T ( n / 2 ) 4 T ( n / 4 ) 8 T ( n / 8 )

slide-6
SLIDE 6

A n

  • t

h e r e x a m p l e : T ( n ) = O ( 1 ) + 2 T ( n

  • 1

)

slide-7
SLIDE 7

1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 O ( n ) “ l e v e l s ” a m

  • u

n t

  • f

w

  • r

k d

  • u

b l e s a t e a c h l e v e l T ( n ) 2 T ( n

  • 1

) 4 T ( n

  • 2

) 8 T ( n

  • 3

)

slide-8
SLIDE 8

1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 O ( n ) “ l e v e l s ” a m

  • u

n t

  • f

w

  • r

k d

  • u

b l e s a t e a c h l e v e l T

  • t

a l t i m e i s O ( 2

n

) ! T ( n ) 2 T ( n

  • 1

) 4 T ( n

  • 2

) 8 T ( n

  • 3

)

slide-9
SLIDE 9

T h i s a p p r

  • a

c h

G

  • d

f

  • r

b u i l d i n g a n i n t u i t i

  • n

Ma y b e a b i t e r r

  • r
  • p

r

  • n

e A p p r

  • a

c h 2 : e x p a n d

  • u

t t h e d e fj n i t i

  • n

E x a m p l e : s

  • l

v i n g T ( n ) = O ( 1 ) + T ( n

  • 1

)

slide-10
SLIDE 10

E x p a n d i n g

  • u

t r e c u r r e n c e r e l a t i

  • n

s

T ( n ) = 1 + T ( n

  • 1

) = 2 + T ( n

  • 2

) = 3 + T ( n

  • 3

) = … = n + T ( ) = O ( n )

T ( ) i s a c

  • n

s t a n t , s

  • O

( 1 )

slide-11
SLIDE 11

A n

  • t

h e r e x a m p l e : T ( n ) = O ( n ) + T ( n

  • 1

)

T ( n ) = n + T ( n

  • 1

) = n + ( n

  • 1

) + T ( n

  • 2

) = n + ( n

  • 1

) + ( n

  • 2

) + T ( n

  • 3

) = … = n + ( n

  • 1

) + ( n

  • 2

) + … + 1 + T ( ) = n ( n + 1 ) / 2 + T ( ) = O ( n

2

)

slide-12
SLIDE 12

A n

  • t

h e r e x a m p l e : T ( n ) = O ( 1 ) + T ( n / 2 )

T ( n ) = 1 + T ( n / 2 ) = 2 + T ( n / 4 ) = 3 + T ( n / 8 ) = … = l

  • g

n + T ( 1 ) = O ( l

  • g

n )

slide-13
SLIDE 13

A n

  • t

h e r e x a m p l e : T ( n ) = O ( n ) + T ( n / 2 )

T ( n ) = n + T ( n / 2 ) : T ( n ) = n + T ( n / 2 ) = n + n / 2 + T ( n / 4 ) = n + n / 2 + n / 4 + T ( n / 8 ) = … = n + n / 2 + n / 4 + … < 2 n = O ( n )

slide-14
SLIDE 14

F u n c t i

  • n

s t h a t r e c u r s e

  • n

c e

T ( n ) = O ( 1 ) + T ( n

  • 1

) : T ( n ) = O ( n ) T ( n ) = O ( n ) + T ( n

  • 1

) : T ( n ) = O ( n

2

) T ( n ) = O ( 1 ) + T ( n / 2 ) : T ( n ) = O ( l

  • g

n ) T ( n ) = O ( n ) + T ( n / 2 ) : T ( n ) = O ( n ) A n a l m

  • s

t

  • r

u l e

  • f
  • t

h u m b :

  • S
  • l

u t i

  • n

i s m a x i m u m r e c u r s i

  • n

d e p t h t i m e s a m

  • u

n t

  • f

w

  • r

k i n

  • n

e c a l l

( e x c e p t t h a t t h i s r u l e

  • f

t h u m b w

  • u

l d g i v e O ( n l

  • g

n ) f

  • r

t h e l a s t c a s e )

slide-15
SLIDE 15

D i v i d e

  • a

n d

  • c
  • n

q u e r a l g

  • r

i t h m s

T ( n ) = O ( n ) + 2 T ( n / 2 ) : T ( n ) = O ( n l

  • g

n )

  • Tii

s i s m e r g e s

  • r

t ! Tie r e i s a n i c e p r

  • f

i n t h e b

  • k

( t h e

  • r

e m 7 . 4 ) .

T ( n ) = 2 T ( n

  • 1

) : T ( n ) = O ( 2

n

)

  • B

e c a u s e 2

n

r e c u r s i v e c a l l s

  • f

d e p t h n

O t h e r c a s e s : m a s t e r t h e

  • r

e m ( Wi k i p e d i a )

  • r

t h e

  • r

e m 7 . 5 f r

  • m

b

  • k
  • K

i n d

  • f

fj d d l y – b e s t t

  • j

u s t l

  • k

i t u p i f y

  • u

n e e d i t

slide-16
SLIDE 16

C

  • m

p l e x i t y

  • f

r e c u r s i v e f u n c t i

  • n

s

B a s i c i d e a – r e c u r r e n c e r e l a t i

  • n

s E a s y e n

  • u

g h t

  • w

r i t e d

  • w

n , h a r d t

  • s
  • l

v e

  • O

n e t e c h n i q u e : e x p a n d

  • u

t t h e r e c u r r e n c e a n d s e e w h a t h a p p e n s

  • A

n

  • t

h e r r u l e

  • f

t h u m b : m u l t i p l y w

  • r

k d

  • n

e p e r l e v e l w i t h n u m b e r

  • f

l e v e l s

  • D

r a w i n g a d i a g r a m ( l i k e f

  • r

q u i c k s

  • r

t ) c a n h e l p !

Ma s t e r t h e

  • r

e m f

  • r

d i v i d e a n d c

  • n

q u e r L u c k i l y , i n p r a c t i c e y

  • u

c

  • m

e a c r

  • s

s t h e s a m e f e w r e c u r r e n c e r e l a t i

  • n

s , s

  • y
  • u

j u s t n e e d t

  • k

n

  • w

h

  • w

t

  • s
  • l

v e t h

  • s

e