l e f t i s t h e a p s w e i s s 6 6 h e a p s w i t h m
play

L e f t i s t h e a p s ( W e i s s 6 . 6 ) H - PowerPoint PPT Presentation

L e f t i s t h e a p s ( W e i s s 6 . 6 ) H e a p s w i t h m e r g i n g A n o t h e r u s e f u l o p e r a t i o n i s m e r g i n g t w o h e a p s i n t o o n


  1. L e f t i s t h e a p s ( W e i s s 6 . 6 )

  2. H e a p s w i t h m e r g i n g A n o t h e r u s e f u l o p e r a t i o n i s m e r g i n g t w o h e a p s i n t o o n e T o d o t h i s , l e t ' s g o b a c k t o b i n a r y t r e e s w i t h t h e h e a p p r o p e r t y ( n o c o m p l e t e n e s s ) : 8 1 8 2 9 2 0 3 9 6 6 2 8 3 7 3 2 8 9 W e c a n i m p l e m e n t t h e o t h e r p r i o r i t y q u e u e o p e r a t i o n s i n t e r m s o f m e r g i n g !

  3. I n s e r t i o n T o i n s e r t a s i n g l e e l e m e n t : ● b u i l d a h e a p c o n t a i n i n g j u s t t h a t o n e e l e m e n t ● m e r g e i t i n t o t h e e x i s t i n g h e a p ! E . g . , i n s e r t i n g 1 2 A t r e e w i t h j u s t o n e n o d e 8 6 + 1 2 1 8 2 9 2 0 2 8 3 9 6 3 7 3 2 8 9

  4. D e l e t e m i n i m u m T o d e l e t e t h e m i n i m u m e l e m e n t : ● t a k e t h e l e f t a n d r i g h t b r a n c h e s o f t h e t r e e ● t h e s e c o n t a i n e v e r y e l e m e n t e x c e p t t h e s m a l l e s t ● m e r g e t h e m ! E . g . , d e l e t i n g 8 f r o m t h e p r e v i o u s h e a p 2 9 1 8 + 3 9 6 6 2 0 2 8 8 9 3 7 3 2

  5. H e a p s w i t h m e r g i n g U s i n g m e r g e , w e c a n e ffj c i e n t l y i m p l e m e n t : ● i n s e r t i o n ● d e l e t e m i n i m u m O n l y q u e s t i o n i s , h o w t o i m p l e m e n t m e r g e ? ● S h o u l d t a k e O ( l o g n ) t i m e W e ' l l s t a r t w i t h a b a d m e r g e a l g o r i t h m , a n d t h e n fj x i t

  6. N a i v e m e r g i n g H o w t o m e r g e t h e s e t w o h e a p s ? 2 9 1 8 B = A = 3 9 6 6 2 0 2 8 8 9 3 7 3 2 I d e a : r o o t o f r e s u l t i n g h e a p m u s t b e 1 8 T a k e h e a p A , i t h a s t h e s m a l l e s t r o o t . P i c k o n e o f i t s c h i l d r e n . R e c u r s i v e l y m e r g e B i n t o t h a t c h i l d . Wh i c h c h i l d s h o u l d w e p i c k ? L e t ' s p i c k t h e r i g h t c h i l d f o r n o p a r t i c u l a r r e a s o n

  7. N a i v e m e r g i n g T o m e r g e t w o n o n - e m p t y h e a p s : P i c k t h e h e a p w i t h t h e s m a l l e s t r o o t : x A B L e t C b e t h e o t h e r h e a p R e c u r s i v e l y m e r g e B a n d C ! → + C x x A B A B + C

  8. E x a m p l e 1 8 < 2 9 s o p i c k 1 8 a s t h e r o o t o f t h e m e r g e d t r e e 2 9 1 8 + 3 9 6 6 2 0 2 8 7 48 9 3 7 3 2

  9. N a i v e m e r g i n g R e c u r s i v e l y m e r g e t h e r i g h t b r a n c h o f 1 8 a n d t h e 2 9 t r e e 1 8 2 0 2 9 + 3 7 2 8 3 9 6 6 3 2 7 48 9

  10. N a i v e m e r g i n g 2 8 < 2 9 s o p i c k 2 8 a s t h e r o o t o f t h e m e r g e d t r e e 1 8 2 0 2 9 + 3 7 2 8 3 9 6 6 3 2 7 48 9

  11. N a i v e m e r g i n g R e c u r s i v e l y m e r g e t h e r i g h t b r a n c h o f 2 8 a n d t h e 2 9 t r e e 1 8 2 0 2 8 3 7 2 9 + 3 2 3 9 6 6 7 48 9

  12. N a i v e m e r g i n g 2 9 < 3 2 s o p i c k 2 9 a s t h e r o o t o f t h e m e r g e d t r e e 1 8 2 0 2 8 3 7 2 9 + 3 2 3 9 6 6 7 48 9

  13. N a i v e m e r g i n g R e c u r s i v e l y m e r g e t h e r i g h t b r a n c h o f 2 9 w i t h 3 2 1 8 2 0 2 8 3 7 2 9 3 9 + 3 2 6 6 7 48 9

  14. N a i v e m e r g i n g B a s e c a s e : m e r g e 6 6 w i t h t h e e m p t y t r e e 1 8 2 0 2 8 3 7 2 9 3 2 3 9 6 6 7 48 9 N o t i c e t h a t t h e t r e e l o o k s p r e t t y “ r i g h t - h e a v y ”

  15. W o r s t c a s e f o r n a i v e m e r g i n g A r i g h t - h e a v y t r e e : U n f o r t u n a t e l y , y o u g e t t h i s j u s t b y d o i n g i n s e r t i o n s ! S o i n s e r t t a k e s O ( n ) t i m e . . . H o w c a n w e s t o p t h e t r e e f r o m b e c o m i n g r i g h t - h e a v y ?

  16. N u l l p a t h l e n g t h D e fj n e t h e n u l l p a t h l e n g t h ( n p l ) o f a b i n a r y t r e e a s f o l l o w s : ● Tie n p l o f t h e e m p t y t r e e i s 0 ● Tie n p l o f t h e t r e e x i s 1 + m i n ( n p l ( A ) , n p l ( B ) ) A B n p l = 2 2 9 3 9 6 6 7 48 9 O b s e r v a t i o n : n p l i s a t m o s t O ( l o g n ) , w h e r e n = n u m b e r o f n o d e s ( i f n p l i s k , t h e n fj r s t k l e v e l s o f t r e e a r e “ f u l l ” )

  17. L e f t i s t h e a p s A l e f t i s t h e a p i s a b i n a r y t r e e s a t i s f y i n g t h e h e a p p r o p e r t y a n d t h e f o l l o w i n g i n v a r i a n t : F o r a n y n o d e i n t h e t r e e … x A B . . . w e m u s t h a v e n p l ( A ) ≥ n p l ( B ) . Tii s m e a n s t h e t r e e i s n o t r i g h t - h e a v y I f t h i s i n v a r i a n t i s v i o l a t e d , w e c a n r e p a i r i t b y s w a p p i n g A a n d B ! N o t e : w e m u s t h a v e n p l ( x ) = 1 + n p l ( B ) . Tii s m e a n s t h a t n a i v e m e r g i n g w i l l t a k e l o g a r i t h m i c t i m e !

  18. E x a m p l e O n e w a y t o d o l e f t i s t m e r g e i s t o fj r s t d o n a i v e m e r g e , t h e n g o u p t h e t r e e s w a p p i n g l e f t a n d r i g h t c h i l d r e n w h e n n e c e s s a r y . . . 2 9 1 8 1 8 → + 3 9 6 6 2 0 2 9 2 0 3 0 7 48 9 7 0 3 7 7 4 3 7 3 2 3 0 3 9 6 6 3 2 7 48 9 N a i v e m e r g e 7 07 4

  19. 2 9 1 8 1 8 → + 3 9 6 6 2 0 2 9 2 0 3 0 7 48 9 7 0 3 7 3 7 3 2 7 4 3 0 3 9 6 6 3 2 7 48 9 R e p a i r i n g l e f t i s t 7 0 → 7 4 i n v a r i a n t 1 8 1 8 2 0 2 9 2 0 2 9 → 3 7 3 0 3 7 3 0 3 9 3 9 7 48 9 3 2 6 6 3 2 7 48 9 6 6 7 0 7 4 7 0 7 4

  20. L e f t i s t h e a p s – i m p l e m e n t a t i o n A d d a fj e l d int npl; t o e a c h n o d e , w h i c h r e c o r d s t h e n u l l p a t h l e n g t h ● I n v a r i a n t : x . n p l = = n u l l p a t h l e n g t h o f x I n t h e r e c u r s i v e c a s e o f m e r g e : ● M e r g e t h e o t h e r t r e e i n t o t h e r i g h t c h i l d o f t h i s n o d e ● Tie n s w a p t h e l e f t a n d r i g h t c h i l d r e n i f l e f t . n p l < r i g h t . n p l ● Tie n u p d a t e t h e n p l o f t h i s n o d e ( n p l = r i g h t . n p l + 1 )

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