c o mp l e x i t y w e i s s c h a p t e r 2
play

C o mp l e x i t y ( W e i s s c h a p t e r 2 - PowerPoint PPT Presentation

C o mp l e x i t y ( W e i s s c h a p t e r 2 ) C o m p l e x i t y Tii s l e c t u r e i s a l l a b o u t h o w t o d e s c r i b e t h e p e r f o r m a n c e o f


  1. C o mp l e x i t y ( W e i s s c h a p t e r 2 )

  2. C o m p l e x i t y Tii s l e c t u r e i s a l l a b o u t h o w t o d e s c r i b e t h e p e r f o r m a n c e o f a n a l g o r i t h m G i v e n a n a l g o r i t h m , a n d ( e . g . ) t h e s i z e o f t h e i n p u t , c a n w e c o m e u p w i t h a f o r m u l a f o r t h e r u n t i m e o f t h e a l g o r i t h m ? ● P r o b l e m : r u n t i m e m a y v a r y b a s e d o n e x a c t i n p u t – s o l u t i o n : l o o k a t w o r s t - c a s e r u n t i m e f o r a g i v e n s i z e ● P r o b l e m : c a l c u l a t i n g a n e x a c t r u n t i m e r e q u i r e s d e e p k n o w l e d g e o f t h e m a c h i n e t h e p r o g r a m w i l l b e r u n o n – s o l u t i o n : c o u n t n u m b e r o f s t e p s i n s t e a d ● P r o b l e m : t h e f o r m u l a i s u s u a l l y v e r y l a r g e a n d a n n o y i n g t o c a l c u l a t e – s o l u t i o n : t h e r e s t o f t h i s l e c t u r e ! I d e a : a s y m p t o t i c c o m p l e x i t y – w h a t i s t h e p e r f o r m a n c e l i k e w h e n n i s l a r g e ?

  3. 2 ≈ n / 2 2 ≈ n / 2 0 0 O b s e r v a t i o n 1 : c o n s t a n t f a c t o r s d o n ’ t u s u a l l y m a t t e r ! 2 n

  4. 2 n / 2 O b s e r v a t i o n 2 : o n l y l e a d i n g t e r m s a r e s i g n i fj c a n t n ( n - 1 ) / 2 2 = n / 2 - n / 2

  5. B i g - O n o t a t i o n Wh e n n i s l a r g e : ● o n l y l e a d i n g t e r m s a r e s i g n i fj c a n t ● c o n s t a n t f a c t o r s d o n ’ t ( u s u a l l y ) m a t t e r M a i n c o n c e p t i n t h i s l e c t u r e : b i g - O n o t a t i o n , w h i c h a l l o w s u s t o i g n o r e a l l t h o s e d e t a i l s i n o u r f o r m u l a s Tie r u n t i m e o f t h e t h r e e fj l e c o p y i n g p r o g r a m s i s : ● Tie fj r s t o n e : n ( n - 1 ) / 2 i s O ( n ) ( “ b i g - O n - s q u a r e d ” ) 2 ● Tie s e c o n d o n e : n ( n - 1 0 0 ) / 2 i s O ( n ) t o o 2 ● Tie t h i r d o n e : 2 n i s O ( n ) ● O ( … ) m e a n s r o u g h l y : “ p r o p o r t i o n a l t o … , w h e n n i s l a r g e e n o u g h ”

  6. 2 O ( n ) 2 O ( n ) B i g - O n o t a t i o n e x p l a i n s t h e d i fg e r e n c e i n p e r f o r m a n c e ! O ( n )

  7. T i m e c o m p l e x i t y W i t h b i g - O n o t a t i o n , i t d o e s n ' t m a t t e r w h e t h e r w e c o u n t s t e p s o r t i m e ! A s l o n g a s e a c h s t e p t a k e s a c o n s t a n t a m o u n t o f t i m e : ● i f t h e n u m b e r o f s t e p s i s p r o p o r t i o n a l t o n 2 ● t h e n t h e a m o u n t o f t i m e i s p r o p o r t i o n a l t o n 2 W e s a y t h a t t h e a l g o r i t h m h a s O ( n ) t i m e 2 c o m p l e x i t y o r s i m p l y c o m p l e x i t y

  8. C o m m o n c o m p l e x i t i e s

  9. Q u i z A n a l g o r i t h m t a k e s O ( n ) t i m e t o r u n . Wh a t h a p p e n s t o t h e r u n t i m e i f t h e s i z e o f t h e i n p u t i s d o u b l e d ? Wh a t a b o u t i f t h e a l g o r i t h m t a k e s O ( n ) 2 t i m e t o r u n ? H o w d o e s t h i s e x p l a i n t h e f o l l o w i n g f a c t s : ● I n t h e s l o w fj l e - c o p y i n g p r o g r a m , i t s t a r t e d q u i c k l y b u t g r a d u a l l y g o t s l o w e r a s i t r e a d t h e fj l e ● I n t h e f a s t fj l e - c o p y i n g p r o g r a m , i t c a r r i e d o n a t a c o n s t a n t r a t e

  10. G r o w t h r a t e s I m a g i n e t h a t w e d o u b l e t h e i n p u t s i z e f r o m n t o 2 n . I f a n a l g o r i t h m i s . . . ● O ( 1 ) , t h e n i t t a k e s t h e s a m e t i m e a s b e f o r e ● O ( l o g n ) , t h e n i t t a k e s a c o n s t a n t a m o u n t m o r e ● O ( n ) , t h e n i t t a k e s t w i c e a s l o n g ● O ( n l o g n ) , t h e n i t t a k e s t w i c e a s l o n g p l u s a l i t t l e b i t m o r e ● O ( n ) , t h e n i t t a k e s f o u r t i m e s a s l o n g 2 – Tii s e x p l a i n s w h y t h e s l o w fj l e r e a d i n g p r o g r a m s s t a r t e d q u i c k l y , b u t t h e n g r a d u a l l y s l o w e d d o w n a s t h e y c o n t i n u e d r e a d i n g t h e fj l e . H o w ? I f a n a l g o r i t h m i s O ( 2 ) , t h e n a d d i n g o n e e l e m e n t n m a k e s i t t a k e t w i c e a s l o n g B i g O t e l l s y o u h o w t h e p e r f o r m a n c e o f a n a l g o r i t h m s c a l e s w i t h t h e i n p u t s i z e

  11. B i g O m a t h e m a t i c a l l y

  12. B i g O , f o r m a l l y B i g O m e a s u r e s t h e g r o w t h o f a m a t h e m a t i c a l f u n c t i o n ● T y p i c a l l y a f u n c t i o n T ( n ) g i v i n g t h e n u m b e r o f s t e p s t a k e n b y a n a l g o r i t h m o n i n p u t o f s i z e n ● B u t c a n a l s o b e u s e d t o m e a s u r e s p a c e c o m p l e x i t y ( m e m o r y u s a g e ) o r a n y t h i n g e l s e S o f o r t h e fj l e - c o p y i n g p r o g r a m : ● T ( n ) = n ( n - 1 ) / 2 ● T ( n ) i s O ( n ) 2 ● I n g e n e r a l , T ( n ) i s O ( f ( n ) ) , f o r s o m e f u n c t i o n f ● W e o f t e n a b u s e n o t a t i o n a n d w r i t e “ T ( n ) = O ( f ( n ) ) ”

  13. B i g O , f o r m a l l y Wh a t d o e s i t m e a n t o s a y “ T ( n ) i s O ( f ( n ) ) ” ? ● e . g . T ( n ) i s O ( n ) 2 W e c o u l d s a y i t m e a n s T ( n ) i s p r o p o r t i o n a l t o f ( n ) ● i . e . T ( n ) = k × f ( n ) f o r s o m e k ● e . g . T ( n ) = n / 2 i s O ( n ) ( l e t k = ½ ) 2 2 B u t t h i s i s t o o r e s t r i c t i v e ! ● W e w a n t T ( n ) = n ( n - 1 ) / 2 t o b e O ( n ) 2 ● W e w a n t T ( n ) = n + 1 t o b e O ( n ) 2 2

  14. B i g O , f o r m a l l y I n s t e a d , w e s a y t h a t T ( n ) i s O ( f ( n ) ) i f : ● T ( n ) ≤ k × f ( n ) f o r s o m e k , i . e . T ( n ) i s p r o p o r t i o n a l t o f ( n ) o r l o w e r ! ● Tii s o n l y h a s t o h o l d f o r b i g e n o u g h n : i . e . f o r a l l n a b o v e s o m e t h r e s h o l d n 0 I f y o u d r a w t h e g r a p h s o f T ( n ) a n d k × f ( n ) , a t s o m e p o i n t t h e g r a p h o f k × f ( n ) m u s t p e r m a n e n t l y o v e r t a k e t h e g r a p h o f T ( n ) ● I n o t h e r w o r d s , T ( n ) g r o w s m o r e s l o w l y t h a n k × f ( n ) N o t e t h a t b i g - O n o t a t i o n i s a l l o w e d t o o v e r e s t i m a t e t h e c o m p l e x i t y ! ● k × f ( n ) i s a n u p p e r b o u n d o n T ( n )

  15. 2 2 A n e x a m p l e : n + 2 n + 3 i s O ( n ) 2 2 ≤ 2 n n + 2 n + 3 f o r n ≥ 3

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend