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
SMART_READER_LITE
LIVE PREVIEW

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


slide-1
SLIDE 1

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

slide-2
SLIDE 2

H e a p s w i t h m e r g i n g

A n

  • t

h e r u s e f u l

  • p

e r a t i

  • n

i s m e r g i n g t w

  • h

e a p s i n t

  • n

e T

  • d
  • t

h i s , l e t ' s g

  • b

a c k t

  • b

i n a r y t r e e s w i t h t h e h e a p p r

  • p

e r t y ( n

  • c
  • m

p l e t e n e s s ) : W e c a n i m p l e m e n t t h e

  • t

h e r p r i

  • r

i t y q u e u e

  • p

e r a t i

  • n

s i n t e r m s

  • f

m e r g i n g !

8 1 8 2 9 3 7 3 2 8 9 2 2 8 3 9 6 6

slide-3
SLIDE 3

I n s e r t i

  • n

T

  • 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

  • n

t a i n i n g j u s t t h a t

  • n

e e l e m e n t

  • m

e r g e i t i n t

  • 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

8 1 8 2 9 3 7 3 2 8 9 2 2 8 3 9 6 6 + 1 2

A t r e e w i t h j u s t

  • n

e n

  • d

e

slide-4
SLIDE 4

D e l e t e m i n i m u m

T

  • 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

  • f

t h e t r e e

  • t

h e s e c

  • 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

  • m

t h e p r e v i

  • u

s h e a p

1 8 2 9 3 7 3 2 8 9 2 2 8 3 9 6 6

+

slide-5
SLIDE 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

  • n
  • d

e l e t e m i n i m u m

O n l y q u e s t i

  • n

i s , h

  • w

t

  • i

m p l e m e n t m e r g e ?

  • S

h

  • u

l d t a k e O ( l

  • 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

  • r

i t h m , a n d t h e n fj x i t

slide-6
SLIDE 6

N a i v e m e r g i n g

H

  • w

t

  • m

e r g e t h e s e t w

  • h

e a p s ? I d e a : r

  • t
  • 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

  • t

. P i c k

  • n

e

  • 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

  • t

h a t c h i l d . Wh i c h c h i l d s h

  • 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

  • r

n

  • p

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

  • n

1 8 2 9 3 7 3 2 8 9 2 2 8 3 9 6 6

A = B =

slide-7
SLIDE 7

N a i v e m e r g i n g

T

  • m

e r g e t w

  • n
  • 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

  • t

: L e t C b e t h e

  • 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 !

x A B + C → x A B + C x A B

slide-8
SLIDE 8

E x a m p l e

1 8 < 2 9 s

  • p

i c k 1 8 a s t h e r

  • t
  • f

t h e m e r g e d t r e e

1 8 2 9 3 7 3 2 7 48 9 2 2 8 3 9 6 6

+

slide-9
SLIDE 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

  • f

1 8 a n d t h e 2 9 t r e e

1 8 2 9 3 7 3 2 7 48 9 2 2 8 3 9 6 6

+

slide-10
SLIDE 10

N a i v e m e r g i n g

2 8 < 2 9 s

  • p

i c k 2 8 a s t h e r

  • t
  • f

t h e m e r g e d t r e e

1 8 2 9 3 7 3 2 7 48 9 2 2 8 3 9 6 6

+

slide-11
SLIDE 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

  • f

2 8 a n d t h e 2 9 t r e e

1 8 2 9 3 7 3 2 7 48 9 2 3 9 6 6

+

2 8

slide-12
SLIDE 12

N a i v e m e r g i n g

2 9 < 3 2 s

  • p

i c k 2 9 a s t h e r

  • t
  • f

t h e m e r g e d t r e e

1 8 2 9 3 7 3 2 7 48 9 2 3 9 6 6

+

2 8

slide-13
SLIDE 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

  • f

2 9 w i t h 3 2

1 8 2 9 3 7 3 2 7 48 9 2 3 9 6 6

+

2 8

slide-14
SLIDE 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 N

  • t

i c e t h a t t h e t r e e l

  • k

s p r e t t y “ r i g h t

  • h

e a v y ”

1 8 2 9 3 7 3 2 7 48 9 2 3 9 6 6 2 8

slide-15
SLIDE 15

W

  • r

s t c a s e f

  • 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

  • r

t u n a t e l y , y

  • u

g e t t h i s j u s t b y d

  • i

n g i n s e r t i

  • n

s ! S

  • i

n s e r t t a k e s O ( n ) t i m e . . . H

  • w

c a n w e s t

  • p

t h e t r e e f r

  • m

b e c

  • m

i n g r i g h t

  • h

e a v y ?

slide-16
SLIDE 16

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 )

  • f

a b i n a r y t r e e a s f

  • l

l

  • w

s :

  • Tie

n p l

  • f

t h e e m p t y t r e e i s

  • Tie

n p l

  • f

t h e t r e e i s 1 + m i n ( n p l ( A ) , n p l ( B ) )

O b s e r v a t i

  • n

: n p l i s a t m

  • s

t O ( l

  • g

n ) , w h e r e n = n u m b e r

  • f

n

  • 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

  • f

t r e e a r e “ f u l l ” )

N u l l p a t h l e n g t h

x A B

2 9 7 48 9 3 9 6 6

n p l = 2

slide-17
SLIDE 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

  • p

e r t y a n d t h e f

  • l

l

  • w

i n g i n v a r i a n t : F

  • r

a n y n

  • d

e i n t h e t r e e … . . . 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

  • 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

  • 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

  • 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

  • g

a r i t h m i c t i m e !

x A B

slide-18
SLIDE 18

E x a m p l e

O n e w a y t

  • d
  • l

e f t i s t m e r g e i s t

  • fj

r s t d

  • n

a i v e m e r g e , t h e n g

  • 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 . . .

1 8 2 9 3 7 3 2 7 48 9 2 3 3 9 6 6

+

1 8 3 3 7 3 2 7 48 9 2 3 9 6 6 2 9

N a i v e m e r g e

7 7 07 4 7 4

slide-19
SLIDE 19

R e p a i r i n g l e f t i s t i n v a r i a n t

1 8 2 9 3 7 3 2 7 48 9 2 3 3 9 6 6

+

1 8 3 3 7 3 2 7 48 9 2 3 9 6 6 2 9

7 7

7 4 7 4 1 8 3 3 7 3 2 7 48 9 2 3 9 6 6 2 9 7 0 7 4 1 8 3 3 7 3 2 7 48 9 2 3 9 6 6 2 9 7 0 7 4

slide-20
SLIDE 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

  • n

A d d a fj e l d

int npl;

t

  • e

a c h n

  • d

e , w h i c h r e c

  • 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

  • f

x

I n t h e r e c u r s i v e c a s e

  • f

m e r g e :

  • M

e r g e t h e

  • t

h e r t r e e i n t

  • t

h e r i g h t c h i l d

  • f

t h i s n

  • 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

  • f

t h i s n

  • d

e ( n p l = r i g h t . n p l + 1 )

slide-21
SLIDE 21

L e f t i s t h e a p s

I m p l e m e n t a t i

  • n
  • f

p r i

  • r

i t y q u e u e s :

  • b

i n a r y t r e e s w i t h h e a p p r

  • p

e r t y a n d l e f t i s t i n v a r i a n t , w h i c h a v

  • i

d s r i g h t

  • h

e a v y t r e e s

  • o

t h e r

  • p

e r a t i

  • n

s a r e b a s e d

  • n

m e r g e

A g

  • d

fj t f

  • r

f u n c t i

  • n

a l l a n g u a g e s :

  • b

a s e d

  • n

t r e e s r a t h e r t h a n a r r a y s , t i n y i m p l e m e n t a t i

  • n

!

O t h e r d a t a s t r u c t u r e s b a s e d

  • n

n a i v e m e r g i n g + a v

  • i

d i n g r i g h t h e a v y t r e e s :

  • s

k e w h e a p s ( a l w a y s s w a p l e f t a n d r i g h t c h i l d )

  • m

e l d a b l e h e a p s ( s w a p c h i l d r e n a t r a n d

  • m

)

S e e w e b p a g e f

  • r

l i n k t

  • v

i s u a l i s a t i

  • n

s i t e !