p r i o r i t y q u e u e s p r i o r i t y q u e u e s
play

P r i o r i t y q u e u e s P r i o r i t y q - PowerPoint PPT Presentation

P r i o r i t y q u e u e s P r i o r i t y q u e u e s A p r i o r i t y q u e u e h a s t h r e e o p e r a t i o n s : i n s e r t : a d d a n e w e l e m e n t


  1. P r i o r i t y q u e u e s

  2. P r i o r i t y q u e u e s A p r i o r i t y q u e u e h a s t h r e e o p e r a t i o n s : ● i n s e r t : a d d a n e w e l e m e n t ● fj n d m i n i m u m : r e t u r n t h e s m a l l e s t e l e m e n t ● d e l e t e m i n i m u m : r e m o v e t h e s m a l l e s t e l e m e n t S i m i l a r i d e a t o a s t a c k o r a q u e u e , b u t : ● y o u g e t t h e s m a l l e s t e l e m e n t o u t A l t e r n a t i v e l y , y o u g i v e e a c h e l e m e n t a p r i o r i t y w h e n y o u i n s e r t i t ; y o u g e t o u t t h e s m a l l e s t - p r i o r i t y e l e m e n t

  3. A p p l i c a t i o n s S o r t i n g a l i s t : ● S t a r t w i t h a n e m p t y p r i o r i t y q u e u e ● A d d e a c h e l e m e n t o f t h e i n p u t l i s t i n t u r n ● R e p e a t e d l y fj n d a n d r e m o v e t h e s m a l l e s t e l e m e n t ● Y o u g e t a l l e l e m e n t s o u t i n a s c e n d i n g o r d e r ! I f a l l p r i o r i t y q u e u e o p e r a t i o n s a r e O ( l o g n ) , t h i s s o r t i n g a l g o r i t h m t a k e s O ( n l o g n ) t i m e

  4. A p p l i c a t i o n s A s i m u l a t i o n – m o d e l s e v e n t s h a p p e n i n g a t a p a r t i c u l a r t i m e ● “ A t 1 0 a m t h e p e r s o n e n t e r e d t h e s h o p ” Wh e n a n e v e n t h a p p e n s , i t c a n c a u s e m o r e e v e n t s t o h a p p e n i n t h e f u t u r e ● “ Wh e n a p e r s o n e n t e r s t h e s h o p , 1 m i n u t e l a t e r t h e y p i c k u p s o m e m i l k ”

  5. A p p l i c a t i o n s – s i m u l a t i o n K e e p a p r i o r i t y q u e u e o f f u t u r e e v e n t s ● “ A t 1 0 a m a p e r s o n w i l l e n t e r t h e s h o p ” S i m u l a t o r ' s j o b : r e m o v e e a r l i e s t e v e n t a n d r u n i t , t h e n r e p e a t ● I n t h e p r i o r i t y q u e u e , e a r l i e r e v e n t s w i l l b e c o u n t e d a s “ s m a l l e r ” t h a n l a t e r e v e n t s Wh e n w e r u n t h a t e v e n t , i t c a n i n t u r n a d d m o r e e v e n t s t o t h e p r i o r i t y q u e u e ● Wh e n a p e r s o n e n t e r s t h e s h o p , a d d a n e v e n t “ t h e p e r s o n p i c k e d u p s o m e m i l k ” t o t h e p r i o r i t y q u e u e a t a t i m e o f 1 m i n u t e l a t e r

  6. T h i s l e c t u r e 1 . H o w t o m a k e a n e ffj c i e n t p r i o r i t y q u e u e 2 . H o w t o d e s i g n d a t a s t r u c t u r e s

  7. A n i n e ffj c i e n t p r i o r i t y q u e u e I d e a 1 : i m p l e m e n t a p r i o r i t y q u e u e a s a d y n a m i c a r r a y ● I n s e r t : a d d n e w e l e m e n t t o e n d o f a r r a y O ( 1 ) ● F i n d m i n i m u m : l i n e a r s e a r c h t h r o u g h a r r a y O ( n ) ● D e l e t e m i n i m u m : r e m o v e m i n i m u m e l e m e n t O ( n ) F i n d i n g t h e m i n i m u m i s q u i t e e x p e n s i v e t h o u g h .

  8. A n i n e ffj c i e n t p r i o r i t y q u e u e I d e a 2 : u s e a s o r t e d a r r a y ● I n s e r t : i n s e r t n e w e l e m e n t i n r i g h t p l a c e O ( n ) ● F i n d m i n i m u m : m i n i m u m i s fj r s t e l e m e n t O ( 1 ) ● D e l e t e m i n i m u m : r e m o v e fj r s t e l e m e n t O ( n ) F i n d i n g t h e m i n i m u m i s c h e a p ! Y a y ! B u t . . . i n s e r t i o n g o t e x p e n s i v e : (

  9. I n v a r i a n t s B y m a k i n g t h e a r r a y s o r t e d . . . ● F i n d i n g t h e m i n i m u m g o t e a s i e r ● B u t i n s e r t i o n g o t h a r d e r “ Tie a r r a y i s s o r t e d ” i s a n e x a m p l e o f a d a t a s t r u c t u r e i n v a r i a n t ● A p r o p e r t y p i c k e d b y t h e d a t a s t r u c t u r e d e s i g n e r , t h a t a l w a y s h o l d s ● I n s e r t , fj n d m i n i m u m a n d d e l e t e m i n i m u m c a n a s s u m e t h a t t h e i n v a r i a n t h o l d s ( t h e a r r a y i s s o r t e d ) ● . . . b u t t h e y m u s t m a k e s u r e i t r e m a i n s s o r t e d a f t e r w a r d s ( p r e s e r v e t h e i n v a r i a n t )

  10. M o r e o n i n v a r i a n t s C h o o s i n g t h e r i g h t i n v a r i a n t i s t h e m o s t i m p o r t a n t s t e p i n d a t a s t r u c t u r e d e s i g n ! A g o o d i n v a r i a n t a d d s s o m e e x t r a s t r u c t u r e t h a t : ● m a k e s i t e a s y t o g e t a t t h e d a t a ( t h e i n v a r i a n t i s u s e f u l ) ● w i t h o u t m a k i n g i t h a r d t o u p d a t e t h e d a t a ( i t ' s n o t t o o h a r d t o p r e s e r v e t h e i n v a r i a n t ) F i n d i n g t h e r i g h t i n v a r i a n t t a k e s a l o t o f p r a c t i c e !

  11. I m p l e m e n t i n g p r i o r i t y q u e u e s u s i n g b i n a r y h e a p s

  12. T r e e s A t r e e i s a h i e r a r c h i c a l d a t a s t r u c t u r e ● E a c h n o d e c a n h a v e s e v e r a l c h i l d r e n b u t o n l y h a s o n e p a r e n t ● Tie r o o t h a s n o p a r e n t s ; t h e r e i s o n l y o n e r o o t + E x a m p l e : e x p r e s s i o n t r e e E x a m p l e : d i r e c t o r y h i e r a r c h y * 3 4 5 6

  13. B i n a r y t r e e s V e r y o f t e n w e u s e b i n a r y t r e e s , w h e r e e a c h n o d e h a s a t m o s t t w o c h i l d r e n class Node<E> { null E value; C a n b e Node<E> left, right; } data Tree a = Node a (Tree a) (Tree a) | Nil

  14. T e r m i n o l o g y root path node parent of gorilla o w l o w l ancestor of ape p e n g u i n p e n g u i n h a ms t e r h a ms t e r (left) child of hamster g o r i l l a l e mu r w o l f g o r i l l a l e mu r w o l f descendant of hamster siblings leaf a p e a p e left subtree or branch of owl

  15. T e r m i n o l o g y h e i g h t = n u m b e r o f l e v e l s i n t r e e s i z e = n u m b e r o f n o d e s i n t r e e height 3 o w l o w l size 4 p e n g u i n p e n g u i n h a ms t e r h a ms t e r g o r i l l a l e mu r w o l f g o r i l l a l e mu r w o l f a p e a p e

  16. B a l a n c e d t r e e s A t r e e c a n b e b a l a n c e d o r u n b a l a n c e d I f a t r e e o f s i z e n i s ● b a l a n c e d , i t s h e i g h t i s O ( l o g n ) ● u n b a l a n c e d , i t s h e i g h t c o u l d b e O ( n ) Ma n y t r e e a l g o r i t h m s h a v e c o m p l e x i t y O ( h e i g h t o f t r e e ) , s o a r e e ffjc i e n t o n b a l a n c e d t r e e s a n d l e s s s o o n u n b a l a n c e d t r e e s N o r m a l l y : b a l a n c e d t r e e s g o o d , u n b a l a n c e d b a d !

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