b e t t e r s o r t i n g a l g o r i t h ms w e i s s c
play

B e t t e r s o r t i n g a l g o r i t h ms ( - PowerPoint PPT Presentation

B e t t e r s o r t i n g a l g o r i t h ms ( W e i s s c h a p t e r 8 . 5 8 . 6 ) D i v i d e a n d c o n q u e r V e r y g e n e r a l n a m e f o r a t y p e


  1. B e t t e r s o r t i n g a l g o r i t h ms ( W e i s s c h a p t e r 8 . 5 – 8 . 6 )

  2. D i v i d e a n d c o n q u e r V e r y g e n e r a l n a m e f o r a t y p e o f r e c u r s i v e a l g o r i t h m Y o u h a v e a p r o b l e m t o s o l v e . ● S p l i t t h a t p r o b l e m i n t o s m a l l e r s u b p r o b l e m s ● R s o l v e t h o s e s u b p r o b l e m s e c u r s i v e l y ● C o m b i n e t h e s o l u t i o n s f o r t h e s u b p r o b l e m s t o s o l v e t h e w h o l e p r o b l e m

  3. T o s o l v e t h i s . . .

  4. 1 . t h e p r o b l e m S p l i t i n t o s u b p r o b l e m s 2 . s o l v e R e c u r s i v e l y t h e s u b p r o b l e m s 3 . C o m b i n e t h e s o l u t i o n s

  5. Q u i c k s o r t P i c k a n e l e m e n t f r o m t h e a r r a y , c a l l e d t h e p i v o t P a r t i t i o n t h e a r r a y : ● F i r s t c o m e a l l t h e e l e m e n t s s m a l l e r t h a n t h e p i v o t , t h e n t h e p i v o t , t h e n a l l t h e e l e m e n t s g r e a t e r t h a n t h e p i v o t q u i c k s o r t t h e t w o p a r t i t i o n s R e c u r s i v e l y

  6. Q u i c k s o r t 5 3 9 2 8 7 3 2 1 4 S a y t h e p i v o t i s 5 . P a r t i t i o n t h e a r r a y i n t o : a l l e l e m e n t s l e s s t h a n 5 , t h e n 5 , t h e n a l l e l e m e n t s g r e a t e r t h a n 5 3 3 2 2 1 4 5 9 8 7 G r e a t e r t h a n t h e p i v o t L e s s t h a n t h e p i v o t

  7. Q u i c k s o r t N o w r e c u r s i v e l y q u i c k s o r t t h e t w o p a r t i t i o n s ! 3 3 2 2 1 4 5 9 8 7 Q u i c k s o r t Q u i c k s o r t 1 2 2 3 3 4 5 7 8 9

  8. P s e u d o c o d e / / c a l l a s s o r t ( a , 0 , a . l e n g t h - 1 ) ; v o i d s o r t ( i n t [ ] a , i n t l o w , i n t h i g h ) { i f ( l o w > = h i g h ) r e t u r n ; i n t p i v o t = p a r t i t i o n ( a , l o w , h i g h ) ; / / a s s u m e t h a t p a r t i t i o n r e t u r n s t h e / / i n d e x w h e r e t h e p i v o t n o w i s s o r t ( a , l o w , p i v o t - 1 ) ; s o r t ( a , p i v o t + 1 , h i g h ) ; } C o m m o n o p t i m i s a t i o n : s w i t c h t o i n s e r t i o n s o r t w h e n t h e i n p u t a r r a y i s s m a l l

  9. C o m p l e x i t y o f q u i c k s o r t I n t h e b e s t c a s e , p a r t i t i o n i n g s p l i t s a n a r r a y o f s i z e n i n t o t w o h a l v e s o f s i z e n / 2 : n n / 2 n / 2

  10. C o m p l e x i t y o f q u i c k s o r t Tie r e c u r s i v e c a l l s w i l l s p l i t t h e s e a r r a y s i n t o f o u r a r r a y s o f s i z e n / 4 : n n / 2 n / 2 n / 4 n / 4 n / 4 n / 4

  11. n n / 2 n / 2 T o t a l t i me i s l o g n O ( n l o g n ) ! “ l e v e l s ” 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 ( n ) t i me p e r l e v e l

  12. C o m p l e x i t y o f q u i c k s o r t B u t t h a t ' s t h e b e s t c a s e ! I n t h e w o r s t c a s e , e v e r y t h i n g i s g r e a t e r t h a n t h e p i v o t ( s a y ) ● Tie r e c u r s i v e c a l l h a s s i z e n - 1 ● Wh i c h i n t u r n r e c u r s e s w i t h s i z e n - 2 , e t c . ● A m o u n t o f t i m e s p e n t i n p a r t i t i o n i n g : n + ( n - 1 ) + ( n - 2 ) + … + 1 = O ( n ) 2

  13. n n - 1 T o t a l t i me i s n 2 “ l e v e l s ” O ( n ) ! n - 2 n - 3 O ( n ) t i me p e r l e v e l

  14. W o r s t c a s e s Wh e n w e p i c k t h e fj r s t e l e m e n t a s t h e p i v o t , w e g e t t h i s w o r s t c a s e f o r : ● S o r t e d a r r a y s ● R e v e r s e - s o r t e d a r r a y s

  15. C o m p l e x i t y o f q u i c k s o r t Q u i c k s o r t w o r k s w e l l w h e n t h e p i v o t s p l i t s t h e a r r a y i n t o r o u g h l y e q u a l p a r t s ● Me d i a n - o f - t h r e e : p i c k fj r s t , m i d d l e a n d l a s t e l e m e n t o f t h e a r r a y a n d p i c k t h e m e d i a n o f t h o s e t h r e e ● P i c k p i v o t a t r a n d o m : g i v e s O ( n l o g n ) e x p e c t e d ( p r o b a b i l i s t i c ) c o m p l e x i t y I n t r o s o r t : d e t e c t w h e n w e g e t i n t o t h e O ( n ) c a s e a n d s w i t c h t o a d i fg e r e n t 2 a l g o r i t h m ( e . g . h e a p s o r t )

  16. P a r t i t i o n i n g a l g o r i t h m 1 . P i c k a p i v o t ( h e r e 5 ) 5 3 9 2 8 7 3 2 1 4

  17. P a r t i t i o n i n g a l g o r i t h m 2 . S e t t w o i n d e x e s , l o w a n d h i g h 5 3 9 2 8 7 3 2 1 4 l o w h i g h l e s s I d e a : e v e r y t h i n g t o t h e l e f t o f l o w i s t h a n t h e p i v o t ( c o l o u r e d y e l l o w ) , e v e r y t h i n g t o t h e r i g h t o f h i g h i s g r e a t e r t h a n t h e p i v o t ( g r e e n )

  18. P a r t i t i o n i n g a l g o r i t h m 3 . Mo v e l o w r i g h t u n t i l y o u fj n d s o m e t h i n g g r e a t e r t h a n t h e p i v o t 5 3 9 2 8 7 3 2 1 4 l o w h i g h

  19. P a r t i t i o n i n g a l g o r i t h m 3 . Mo v e l o w r i g h t u n t i l y o u fj n d s o m e t h i n g g r e a t e r o r e q u a l t o t h e p i v o t 5 3 9 2 8 7 3 2 1 4 l o w h i g h w h i l e ( a [ l o w ] < p i v o t ) l o w + + ;

  20. P a r t i t i o n i n g a l g o r i t h m 3 . Mo v e l o w r i g h t u n t i l y o u fj n d s o m e t h i n g g r e a t e r t h a n t h e p i v o t 5 3 9 2 8 7 3 2 1 4 l o w h i g h w h i l e ( a [ l o w ] < p i v o t ) l o w + + ;

  21. P a r t i t i o n i n g a l g o r i t h m 3 . Mo v e h i g h l e f t u n t i l y o u fj n d s o m e t h i n g l e s s t h a n t h e p i v o t 5 3 9 2 8 7 3 2 1 4 l o w h i g h w h i l e ( a [ h i g h ] < p i v o t ) h i g h - - ;

  22. P a r t i t i o n i n g a l g o r i t h m 4 . S w a p t h e m ! 5 3 4 2 8 7 3 2 1 9 l o w h i g h s w a p ( a [ l o w ] , a [ h i g h ] ) ;

  23. P a r t i t i o n i n g a l g o r i t h m 5 . A d v a n c e l o w a n d h i g h a n d r e p e a t 5 3 4 2 8 7 3 2 1 9 l o w h i g h l o w + + ; h i g h - - ;

  24. P a r t i t i o n i n g a l g o r i t h m 5 . A d v a n c e l o w a n d h i g h a n d r e p e a t 5 3 4 2 8 7 3 2 1 9 l o w h i g h w h i l e ( a [ l o w ] < p i v o t ) l o w + + ;

  25. P a r t i t i o n i n g a l g o r i t h m 5 . A d v a n c e l o w a n d h i g h a n d r e p e a t 5 3 4 2 8 7 3 2 1 9 l o w h i g h

  26. P a r t i t i o n i n g a l g o r i t h m 5 . A d v a n c e l o w a n d h i g h a n d r e p e a t 5 3 4 2 8 7 3 2 1 9 l o w h i g h w h i l e ( a [ h i g h ] < p i v o t ) h i g h + + ;

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