TREES Tree → is collection a of nodes - and edges HEIGHT ① :/ o 11 4 edges of No = nodes - ④ ⑨ ④ 11 I l l l ① ④ ① LEVEL / ah i No of ← root . , 2 : 5 SUBTREE I TERMINOLOGY (1) RIO (2) Parent (3) Child (4) Sibling (5) Descendents The : node A ! first node is parent a children of : : (6) Ancestors : , F , For any For M, J , to node , G,H , M are J , F, B A , , be can descendents are . I which the nodes all descendents neat very nodes those K its parent same Set of all E top the on along B of the reached from path from that Internalnodeslnon-leafnodeslnon-Teominalnoi.NO des it is having L - levies ( Id) Forrest ( Io ) Height : Collection of trees . . to root node 2 Enteonaeaf-Nodinanodoi.NO des (9) node . (8) of children node ancestors Degreeofaiode No particular . (7) : a with degree with O degree > O BINARY TREE - ④ degree { 23 children X ① 11 l O - , TREE V l l ④ ① ④ ④ 1,2 BINARY NUMBEROFBINARYTREESXNGNNODI.IS (1) Unlabeled Nodes (2) Labelled Nodes ) n of No ✓ trees with Mani mum height 4=22 = ( 2) =3 000 £68 Ii T height - T -_ mirror T 2 1- (3) n = = images T 5 4 O O O 0 No of trees with Mani mum height = 8=23 ¥ 1- ( 4) = 14 + other 7 mirror images T ( n) Catalan 'n = Cn ✓ Number No of trees with mani mum height = I - I tMethodforfindingCatalanNumb# |TLn)=2nn¥/1l25l44# \ O h 1- (6) = TCG ) = l 1×42 t Tco) X TLS ) t 5 4 3 2 1×14 2×5 + Tu ) X TCU ) 6 t 5×2 Th ) X T ( 3) t TL 3) XTLZ ) t + 14×1 t 1- ( 4) XTLI ) + t 42×1 TL 5) X TCO ) = n Tcn) ET ( i 1) = - f- (2) * Tl n - i ) I Labeltedhodes ① ¥868 co -1 B A 6=3 ! Tcn) = 2M€ n a n ! -11 I Shapes t Filling A % , 132 Heightvslvode Height h role Height h=z I = min min mean O O a many 0 O 0 Height h =3 min may O 0 - TX j - Td JJ 1 All 11 O / - 0 & O O O O O It 2 O t 22 O + - 23 MinimumNumbNdes min nodes = htt ManimumNumbeNde at ar t It 2 t 22 ash tar t 23 t . 3 . . + . . . ask 2h = = aCgY li(2zh! 2h 1- I + = = 15 i z i 23 Nodes n =3 min may I Qao 00 h = h=2 I Ifnodesaoegivenci ) Mau h= height n - I ↳ (2) For minimum n height zhtl = Can - , be obtained ] ' ' 2h ntl = htt login -11 ) = logz h= ( nti ) Heightofabinaoytzeelogz ( ntl) - l E h E n - - I I Ocn ) 0 ( login) Numbeooflvodesinabinasytreehtl E n E zh " - I by previous formula INTERNALN0DESVSEXTERNALNODESI#3lNARYTREE O O 14 O fb f O 11 O O floor lob go to / deg ( 23=2 O degli ) =z deg co) =3 O deg (2) deg ( 21=1 =3 degli) =4 deg ( 03=2 degli ) 5 deg (03=4 = degcgt-deg.cz True in binary tree STRICTIPROPERICOMPLETEBINARYTREE.se deg = ✓ x - 0,112 } { O ←b 6662 O Glo f b 68 Glo X o o r Glo - Gb fb Gx Gb O Ho Fb x ¥¥ O f Gx G l O Heightvslvode ( Strict Binary Tree ) / Height h= I rein mean Is A 64 Height 00 min mane A Ifl Is 68 68 min may o o 0000 Nodes Nodes n O O minimum o 0000000 Tfininodesaoegiven = 2h " Minimum - Man l height height h h= i = 2 e =3 ( ntl ) - - l E h 's l a o logzlntl ) = nIINTERNALN0DESVSEXTERNALN0DESI#31NARYTt Glo fb changed n O 2h -11 logz 0 number 1111111 o n= n only Tf Tfheightihiisgiven Man h=z h =3 Glo Glo 68 Jb Min Height o 6868 i =3 e=4 ( STRICT ) o Fb 6666 68 68 i-5 e=6 e- h -aoy Te# 3-aryToee_ { 0,112,3 } 4-aoyToee_ { 0,1 , 2,3 , 4 } o o 68 6th 6888 0%5050 Stsict3-aoy { 013 } Ito Ho stoictn-aoyts.ee#h=2 min Tfheightihiisgiven Min Mae Nodes Nodes Man O Ab fff n n = 3+3+1 = 2×3+1 i Minimum height height Man h= logm[nlm h= - I m =3 man - I / O - 3 ← yX→ z - 3 sont " - 08K¥ # K¥491 a It I + 3+32+33 n 't n t 3 e= 7 i Tfininodesaoegiven e=9 min = - S = ✓ i mh 6th 0%6850650 - ¢§§% = m e=5 Sono n nhtl O i=2 h n= ( nht ' - i - n - I ) n ' i= 13 e = 27 3 3 e= 29+1 e=a D -11] - I REPRESENT.AT/ONOFB#-RYTREE Array Representation 1. 2 1. Linked . Representation Arrayrepresentation * ④ 6¥ ④ to t.TT# Element L Child l Z 3 4 5 A B 2 c 3- . G- i Element → i L Child → 2 R child → Parent 2 . → R Index * 2 2 - i - child I 2 - it 1 i * i +1 Liz) Linkedrepresentation NODE ¥¥E/rchid Struct f { int * Node f \ , OH lchild ; data ; Struct }; Node ④ ④ Node Struct \ # n=7 * ochild ; nulls = htt y Fullbinaryloee binary A : tree height Eff / o . 2 of h height having manimum number of nodes . ① d. to K¥ £ to Tisa CompleteBinaoyToee A full binary Egg A : tree binary complete height h - always is tree of height a binary complete £ STRICTVS.CO/nPLETE- ↳ almost complete complete ① ① ' ' ' ' ④ 6. to - Elis strict ✓ complete ④ ④ ft - his strict × tree . NOT A to r complete ✓ T COMPLETE BINARY TREE ④ T BETWEEN ELEMENTS { 0,2 } ¢ binary Elisa BLANK SPACES full - hit ④ tree ④ - degree a / \ ④ NO be ⑦ / \ 6¥ will I ① ④ h BLANK SPACES upto TREE TRAVERSALS → Preorder NLR : Node In order Right , LNR : Left Postcodes left , Node , Right , LRN : left Level order : Right , by level Node , Level ① ① % £ d. to . Preorder ABC AB AB In order BAC BA AB Post order BCA BA BA ABC AB AB Level a Preorder A L B , A In order (D , B Post order ( D , , E B , A , B , A , E B) D level , ) E , D, E , ) E , D B , D , E , C , A , D F , F , B F , , E , C , F c , , G , , , G C G) G C) , G) , G , C , G F , F , ( C F , , C , , ( , , , A A BINARYTREETRAVERSALEASYMF.TN#pyeordtr order A ÷÷÷÷÷÷i÷ ④ ④ post In D , E BINARYTREETRAVERSALEASYMF.TT#2pyeordt g order , 8£ a B , post In F G , , c, A 8£ is is ÷oih . A, B , D Preorder , : E , C , A In order ! A Post order : C F B , , , C F G , c , , , . B D D , , E E , D E , , , F B , , , F D A , B , E , A , F , C , G D , E , B , F , G , C, A PROGRAMTOCREATEBINARYTREEVO id create C) { * Node int n * , t ; ; Queue initializing q; printfl scan fl root p " " = root → Zoot → Enter root value t d '' . " ); dm ) ; , L mall Oc data queue a = n l child - - . - ) ; - initializing root ; root = → en queue 1800T ) ; storing while l ! is (q) Empty r child = O ; address of soot in queue ) { p = dequeue ( Lg ) ; take out printfl Enter Left child " scarf l if Lu ! " td '' - = - , " ) a from value queue into ; In) ; D ' + = mall Oc ( t → data p → l child en queue } } } p - - . . u = (t ) ; . ) ; t ; t ; → l child p = t → r child → = r child t = 0 ; 7 for right else will be child everything same RECURSlVEPRE0RDERTREETRAVER# Preorder ( Node Void * t) { if ( t ! NULL) = { " print fl '' I. d t ' - Preorder , ( t Preorder It → data ) ; → lchild ) ; → schild ) ; I ④ ④ ④ f } , 300 270 pre 1200) pre ( 210) pre ( 270 ) 11 l ACTIVATION RECORDS \ pre PCO ) l l x x l ( 300 ) 5 9 pco) l x Inorderl Node 7 l x x x 2 Plo) RECURSIVE l Plo) l x X POST ORDER TREE TRAVERSAL - void Postozdeol Node * t ) { { if ( t ! = if It NULL) { ! = NULL ) { Inorder It printfl " lchild ) → I. d '' ' Inooder It , → t → Post order ( ; data ) ; t → Post order ( t → print fl schild ) ; } } USING p ( 320 ) Al pco) Plo) l t) * \ l RECURSIVE TREE TRAVERSAL NORDER1 void l polo) Al pco) CREATED STACK 230) pre ( 11h l PCO) ARE - ✓ I 320 310 TRACING TREE 4 \ , f \ 210 ④ } 8 \, 200 } 3 " x. d '' , t lchild ) ; schild ) ; → data) ; ITERATIVE PREORDER TRAVERSAL ITERATIVE - void Preorder C Node * t IN ORDER TRAVERSAL - In order ) C Node * t ) { Struct St ; stack to while ( t ! = it NULL is check Empty for empty Cst ) stack ) { if ( t ! NULL) = { psintfl push ( t t = " t d '' - Sst → , , t → data) ; t ) ; push push LIST address of t t in stack t = , t ) ; l child ; → lchild ; } else { t pop = t t = → ( Lst ) ; schild ; } pop out from t address = psintfl stack t = ( Lst ) ; pop " t t d '' - → , t → data) ; schild ; } } ITER.AT/VEP0STORDERTRAVERSAL# Void Inozderc Node * t ) { Struct long St ; stack int while ( t ! temp ; - NULL it is Empty Cst ) ) { if Lt ! = NULL ) ' i :S :S::* : } else { temp = pop ( Lst ) ; / TfL { temp > o ) push ( Sst , temp); t ((Nodes) temp ) → schild ; - - } else { " 3 3 } } " "" " e 't:*, LEVELORDERTRAVERS.tt# Void * Level order ( Node p) { Queue printfl en q; " t - d '' Ig queue ( data ) ; → p , p) , ; is Empty ( q ) while C ! ) { p = degueuectq) ; if I p → lchild ) { printfl 't ' - d '' → p , enqueueltq p , l child → data) ; → l child ) ; } if I p → a child ) { printfl 't ' - d '' , enqueueltq p → , p rchild → → data) ; schild ) ; } } } CAN WE GENERATE TREE FROM TRAVERSALS ? Zhen # n =3 ① Given preorder ① JA ⑦ ① ④ ④ C c A - , B, c htt A A I ④ - c c CONCLUSION ② Given preorder posoodeo ⑦ I ③ / ④ A. Bic c , B) A ⑦ I ③ n more than one If we cannot we Tf are we also are unique given generate unique given both tree preorder either tree preorder cannot be , in order , postorder . and postcodes , generated ④ ① preorder tihorder ② postoodertinooder for generating unique tree then § Preorder Inoodesr ¥ - - 4,7 , 7 , 9 6, 9 , , 6 3 , 3 , , 4 , 2 , 5 , 5 8 , , 8, I 2 , I 7,639,334,5in ④ /! a § 5s G A ⑥ ⑤ Unique # ⑥ COUNTING NODES OF NO BINARY TREE A IN - int count ( Node * p) n { int n , ⑦ I y ; y =3 =3 \, n= N if ( p ! = ' NULL ) = y f \ y -_ count ( p count ( = p n schild ) → ntytl return dchild ) → 4=0 In ty=o two :O . o ; 0 ; } COUNTING NODES LEAF int count DEGREE COUNTING NODES WITH 2 - - ( Node * p) DEGREE COUNTING NODES WITH 2 OR I - { int COUNTINUNODESWITHDEGREEIIF n , ( p ! y = ; NULL ) { n = y= iflp count Lp → (p count → dchild ) rchild ) → lchild return = - - ; ; Id NULL ochild → p = - - NULL ) nxytl ; else return } mtg iflp else return 0 ; lchild ! → NULL - ; iflp } - / - → ( ! Id it p → ' lchild ! if ( ( p # child - - - - Nuu NULL p→dchild== IS NULL p p → Idp → ochild ! rchild → ! ochild - zchild ! - - - - NULL ) NULL ) NULL ) -_ !! NULL ) ) XOR if I p → - i I } return - 0¥ ty=o ! !o y f , { u ' =L lchild !=NUu^p→o child ! - NULL ) ¥0