t r i e s r a d i x t r e e s s u ffjx t r e e s t r i e s

T r i e s , r a d i x t r e e s , s u ffjx t r - PowerPoint PPT Presentation

T r i e s , r a d i x t r e e s , s u ffjx t r e e s T r i e s A t r i e ( p r o n o u n c e d t r y ) i s a d a t a s t r u c t u r e f o r r e p r e s e n t i n g a


  1. T r i e s , r a d i x t r e e s , s u ffjx t r e e s

  2. T r i e s A t r i e ( p r o n o u n c e d t r y ) i s a d a t a s t r u c t u r e f o r r e p r e s e n t i n g a s e t o f s t r i n g s ● I t c a n a l s o b e u s e d f o r a m a p w h e r e t h e k e y s a r e s t r i n g s ● O r w h e r e t h e k e y i s a l i s t o f s o m e k i n d I t i s a k i n d o f t r e e , b u t n o t b a s e d o n c o m p a r i s o n s N a m e : p u n o n r e t r i e v a l a n d t r e e ● O r i g i n a l l y p r o n o u n c e d “ t r e e ” , b u t n o w p r o n o u n c e d “ t r y ” t o a v o i d c o n f u s i o n w i t h t r e e s …

  3. T r i e s Tii s t r i e r e p r e s e n t s t h e s e t { “ c a t ” , “ c a t s ” , “ c o w ” , “ p i g ” , “ p i n ” } : E d g e s l a b e l l e d w i t h c h a r a c t e r s . I n v a r i a n t : n o n o d e h a s t w o D o u b l e c i r c l e : e d g e s w i t h t h e c a t i s i n t h e s e t s a m e l a b e l ( C o n c a t e n a t e a l l t h e c h a r a c t e r s I n v a r i a n t : o n t h e p a t h a l l l e a v e s f r o m t h e r o o t a r e “ d o u b l e t o t h i s n o d e – S i n g l e c i r c l e : c i r c l e d ” c - a - t ) “ c o ” n o t i n t h e s e t

  4. T r i e s , m o r e f o r m a l l y A t r i e i s a t r e e w h e r e e d g e s a r e l a b e l l e d w i t h c h a r a c t e r s ● R e p r e s e n t s a s e t o r m a p o f s t r i n g s ● M o r e g e n e r a l l y , k e y s c a n b e l i s t s ; t h e e d g e s a r e l a b e l l e d w i t h s i n g l e e l e m e n t s E a c h n o d e i n t h e t r e e r e p r e s e n t s a s t r i n g ● Wh i c h s t r i n g ? F o l l o w t h e p a t h f r o m t h e r o o t t o t h e n o d e a n d c o n c a t e n a t e t h e c h a r a c t e r s o n t h o s e e d g e s S o m e n o d e s a r e m a r k e d a s c o r r e s p o n d i n g t o a n e l e m e n t o f t h e s e t ● I n d i a g r a m s : a d o u b l e c i r c l e I n v a r i a n t : ● E a c h n o d e h a s a t m o s t o n e c h i l d l a b e l l e d w i t h a g i v e n e d g e ● A l l l e a f n o d e s a r e “ d o u b l e c i r c l e s ” ( t h e y r e p r e s e n t e l e m e n t s o f t h e s e t )

  5. T r i e s T o c h e c k i f a s t r i n g i s i n t h e s e t , j u s t f o l l o w t h e e d g e s , s t a r t i n g f r o m t h e r o o t ! D o u b l e c i r c l e : “ c a t ” i s i n t h e s e t

  6. T r i e s T o i n s e r t a n e w s t r i n g , a l s o f o l l o w t h e e d g e s , m a k i n g n e w n o d e s a s y o u g o ● Tie fj n a l n o d e s h o u l d b e a “ d o u b l e c i r c l e ”

  7. T r i e s I n s e r t i n g “ p i ” c r e a t e s n o n e w n o d e s , b u t w e m a r k t h e fj n a l n o d e a s a “ d o u b l e c i r c l e ”

  8. T r i e s T o d e l e t e a s t r i n g , w e fj r s t t u r n t h e n o d e i n t o a “ s i n g l e c i r c l e ” … E x a m p l e : d e l e t i n g “ c r o w ”

  9. T r i e s I f t h e n o d e i s a l e a f , w e s h o u l d r e m o v e i t . W e g o u p t h e t r e e r e m o v i n g a n y s i n g l e - c i r c l e d l e a v e s , w h i c h r e s t o r e s t h e i n v a r i a n t :

  10. T r i e s – o t h e r n e a t t h i n g s w e c a n d o G i v e n a s e t o f s t r i n g s s t o r e d a s a t r i e , w e c a n : ● F i n d a l l s t r i n g s s t a r t i n g w i t h a g i v e n p r e fj x ( f o r t h i s r e a s o n a t r i e i s o f t e n c a l l e d a p r e fj x t r e e ) W e c a n t a k e t h e u n i o n o r i n t e r s e c t i o n o f t w o t r i e s ● L i n e a r t i m e , b u t m u c h f a s t e r i f t h e t w o t r i e s a r e m o s t l y d i s j o i n t I f w e c a n i t e r a t e o v e r a l l e d g e s o f a n o d e i n a l p h a b e t i c a l o r d e r , w e c a n a l s o : ● G e n e r a t e a l i s t o f s t r i n g s i n d i c t i o n a r y o r d e r ( i . e . , w e c a n u s e a t r i e f o r s o r t i n g ) ● F i n d a l l s t r i n g s l y i n g b e t w e e n t w o w o r d s i n d i c t i o n a r y o r d e r ( e . g . , a l l w o r d s i n t h e s e t t h a t a r e a f t e r “ c h i c k e n ” b u t b e f o r e “ p i c k l e ” i n t h e d i c t i o n a r y )

  11. T r i e s T o fj n d a l l s t r i n g s s t a r t i n g w i t h a p r e fj x , j u s t f o l l o w t h e e d g e s a l o n g t h a t p r e fj x : R e t u r n a l l w o r d s i n t h i s s u b t r e e

  12. T r i e s T o fj n d a l l s t r i n g s b e t w e e n “ c h i c k e n ” a n d “ p i c k l e ” , j u s t f o l l o w a l l e d g e s t h a t l i e b e t w e e n t h e m i n d i c t i o n a r y o r d e r : “ p i n ” i s t o o b i g “ c a ” i s t o o s m a l l

  13. T r i e s – i m p l e m e n t a t i o n H o w t o r e p r e s e n t a t r i e ? N o t o b v i o u s : ● E d g e s a r e l a b e l l e d ● E a c h n o d e c a n h a v e m a n y e d g e s O n e r e a s o n a b l e c h o i c e : e a c h n o d e c a r r i e s a m a p f r o m l a b e l t o c h i l d n o d e ● e . g . , u s i n g a h a s h t a b l e m e a n s t h a t f o l l o w i n g a n e d g e w i l l t a k e O ( 1 ) t i m e “ D o u b l e c i r c l e s ” a r e r e c o r d e d b y h a v i n g a B o o l e a n fj e l d i n t h e n o d e o b j e c t ● I f t h e t r i e i s u s e d a s a m a p , e a c h n o d e o b j e c t c a n c o n t a i n a v a l u e J u s t a s w i t h a n y t r e e d a t a s t r u c t u r e , t h e t r i e i t s e l f i s r e p r e s e n t e d a s a r e f e r e n c e t o t h e r o o t n o d e F a i r l y s i m p l e t o i m p l e m e n t !

  14. T r i e s – p e r f o r m a n c e T r i e o p e r a t i o n s t a k e O ( w ) t i m e , w h e r e w i s t h e l e n g t h o f t h e s t r i n g t o b e i n s e r t e d ● I n d e p e n d e n t o f t h e n u m b e r o f s t r i n g s s t o r e d i n t h e t r i e ! I s t h i s b e t t e r o r w o r s e t h a n B S T s ? ● B e t t e r i f t h e t r i e c o n s i s t s o f m a n y s h o r t s t r i n g s , b e c a u s e e a c h n o d e w i l l h a v e m a n y c h i l d r e n ● W o r s e i f t h e t r i e c o n s i s t s o f f e w l o n g s t r i n g s , b e c a u s e m a n y n o d e s w i l l o n l y h a v e o n e c h i l d

Recommend


More recommend