A n n o u n c e m e n t E x e r c i s e s e s s i o n s : o n e r o o m i n s t e a d o f t w o ● M o n d a y e x e r c i s e s : E C ● Tiu r s d a y e x e r c i s e s : M L 1
T r e e s ( W e i s s 4 . 1 - 4 . 2 )
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 b u i l t u p f r o m n o d e s R o o t n o d e ● A t t h e t o p i s t h e r o o t n o d e ● E a c h n o d e c a n h a v e c h i l d n o d e s + ● Wh i c h i n t u r n c a n h a v e t h e i r o w n c h i l d r e n , a n d s o o n E x a m p l e : * 3 4 a n e x p r e s s i o n t r e e C h i l d o f t h e 5 6 r o o t n o d e
T r e e s F o r a c o l l e c t i o n o f n o d e s t o b e a t r e e : ● Tie r e m u s t b e e x a c t l y o n e r o o t n o d e ● T w o n o d e s c a n n o t s h a r e a c h i l d ● E v e r y n o d e m u s t b e d e s c e n d e d f r o m t h e r o o t
N o t t r e e s N o t a t r e e : 5 i s t h e N o t a t r e e : m u l t i p l e r o o t s c h i l d o f t w o n o d e s + * + 3 4 5 6 * 3 4 N o t a t r e e : s o m e n o d e s 5 6 a r e n o t d e s c e n d e d f r o m t h e r o o t + * 3 4 5
T r e e s r e c u r s i v e l y T r e e s c a n b e d e fj n e d r e c u r s i v e l y : ● A t r e e c a n b e e m p t y ● A n o n - e m p t y t r e e c o n s i s t s o f a r o o t n o d e t o g e t h e r w i t h i t s c h i l d r e n , w h i c h a r e t r e e s t h e m s e l v e s a n d m u s t n o t s h a r e a n y n o d e s i n c o m m o n Tii s d e fj n i t i o n i s u s e f u l f o r p r o g r a m m i n g R o o t n o d e x C h i l d r e n . . . ( a l s o t r e e s )
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 t w o c h i l d r e n , c a l l e d t h e l e f t a n d r i g h t c h i l d class Node<E> { E value; null Node<E> left, right; C a n b e (optionally) Node<E> parent; } class Tree<E> { E root; } -- If you know functional programming: data Tree a = Node a (Tree a) (Tree a) | Nil
T e r m i n o l o g y r o o t p a t h n o d e o f g o r i l l a p a r e n t o w l o w l a n c e s t o r o f a p e 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 ( l e f t ) c h i l d o f h a m s 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 o f d e s c e n d a n t h a m s t e r s i b l i n g s a p e a p e l e a f l e f t s u b t r e e o r b r a n c h o f o w l
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 l e v e l = d i s t a n c e t o r o o t h e i g h t 3 s i z e 4 o w l o w l l e v e l 1 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
B a l a n c e d t r e e s A b i n a r y t r e e o f s i z e n h a s a h e i g h t o f b e t w e e n l o g n a n d n : 2 A t r e e o f s i z e n i s c a l l e d b a l a n c e d i f i t s h e i g h t i s O ( l o g n ) M a 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 ffj c 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 !
P r i o r i t y q u e u e s ( W e i s s 6 . 1 - 6 . 4 , 6 . 9 )
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
A p p l i c a t i o n s A p r i n t e r q u e u e w h e r e c e r t a i n j o b s h a v e h i g h e r p r i o r i t y ● t h e b o s s ’ s d o c u m e n t s g e t h i g h e s t p r i o r i t y ● a f t e r t h a t , s h o r t e r d o c u m e n t s a r e p r i n t e d fj r s t ● i f t w o d o c u m e n t s h a v e t h e s a m e p r i o r i t y , t h e o l d e s t o n e i s p r i n t e d fj r s t ● o r s o m e c o m b i n a t i o n o f a g e a n d s i z e ? J u s t n e e d t o b e a b l e t o c o m p u t e a p r i o r i t y w h e n a d d i n g t h e j o b ! S i m i l a r l y , t h e s c h e d u l e r i n a n o p e r a t i n g s y s t e m – d e c i d e w h i c h p r o c e s s t o r u n n e x t
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
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 : 0 0 : 0 3 t h e c u s t o m e r e n t e r e d t h e s h o p ” ● “ A t 1 0 : 0 8 : 0 5 t h e c u s t o m e r g o t t o t h e c h e c k o u t ” 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 c u s t o m e r 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 b r e a d ” ● “ Wh e n t h e c a s h i e r fj n i s h e s s c a n n i n g t h e i t e m s , 3 0 s e c o n d s l a t e r t h e c u s t o m e r fj n i s h e s p a y i n g ”
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 : 0 0 : 0 3 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 c u s t o m e r 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 c u s t o m e r p i c k s u p s o m e b r e a d ” 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
Recommend
More recommend