- 09 Binary Trees
- Ds Lab Manual
- Unit 6
- Lect 8 Trees.pptx
- BST
- Tree
- Trees
- In Fix
- Data Structure Lecture 7 Tree[1]
- UNIT 2&3 final
- binary tree
- bst
- Tree 1
- Ch6.Trees
- [Google Interview Prep Guide] SWE - UGrad.pdf
- WeldPlanner-2010_UsersGuide
- Improved lower bounds for coded caching
- New Microsoft Office Word Document
- Discovering Fuzzy Time Interval Sequential Pattern in Sequence Databases
- Arbol de Expansion Minima
- A Replacement for Voronoi Diagrams of Near Linear Size
- PeopleSoft Tree Manager (Appendix B Configuring Tree Manager on the Web)
- A Hope Tutorial
- 100 TOP C Language Multiple Choice Questions and Answers _ Multiple Choice Questions and Answers Beginners and Experienced PDF
- Data Structures
- subidya
- 2nd Sem DS Assgn
- java10
- BCA-302 new
- 10.1.1.68
- tech talk 1
- Unit1-Statistics and Combinatorics
- l 1 Introduction
- [S.C. Gupta, V.K. Kapoor] Fundamentals of Mathemat(BookSee.org)

6/6/2012 7:23 PM

Copyright @ gdeepak.Com

1

Deliverables

Tree

basics

Tree

Traversals

Types of

trees

6/6/2012 7:23 PM

Binary

search tree

Copyright @ gdeepak.Com

2

Tree

Technically tree is an abstract model of a

hierarchical structure

A tree consists of nodes with a parentchild relation

Applications: Organization charts,

File systems , Programming environments

6/6/2012 7:23 PM

Copyright @ gdeepak.Com

3

Tree terminology

• Root: node without parent (A)

A

**• Internal node: node with at least one child
**

B

(A, B, C, F)

• External node (or leaf node ) or

C

E

F

G

I

J

K

D

H

Node without children (E, I, J, K, G, H, D)

**• Ancestors of a node: parent, grandparent etc
**

• Depth of a node: number of ancestors

6/6/2012 7:23 PM

Copyright @ gdeepak.Com

4

Tree basics

Height of a tree: maximum depth of any node

Descendant of a node: child, grandchild etc.

Sub tree: tree consisting of a node and its descendants

Siblings: Children of the same parent

In degree: number of nodes arriving at that node

Out degree: number of nodes leaving that node

6/6/2012 7:23 PM

Copyright @ gdeepak.Com

5

Tree operations size() isEmpty() root() parent(p) children(p) isInternal(p) isExternal(p) isRoot(p) swapElements (p. o) 6 .Com (p. q) replaceElement Minimum() Maximum() Successor(x) Predecessor(x) Search(x) 6/6/2012 7:23 PM Copyright @ gdeepak.

Guess a number between 1 and n • First Guess 60 6/6/2012 7:23 PM 60 Copyright @ gdeepak.Com 7 .

Com 8 .Guess a number between 1 and n • Second Guess 100 6/6/2012 7:23 PM 60 Copyright @ gdeepak.

Com 9 .Guess a number between 1 and n How to play so that guesses are minimized 6/6/2012 7:23 PM Copyright @ gdeepak.

right child Left sub tree of node contains nodes with keys < node's key Right sub tree of node has nodes with keys ≥ node's key Both left and right subtrees must be binary search trees Recursive definition: Either a tree of single node. or whose root has an ordered pair of children.Com 10 .Binary Tree Each internal node has at most two children Ordered Binary Tree or Binary Search Tree Children of node are ordered pair known as left. each is binary tree 6/6/2012 7:23 PM Copyright @ gdeepak.

6/6/2012 7:23 PM Copyright @ gdeepak.Com 11 .Complete Binary tree Complete Binary tree consists of each internal node having exactly two children.

Full and Perfect Binary Tree Full binary tree has each level of tree completely filled(except possibly the last) in which nodes will be as left as possible Perfect binary tree will have each internal node having two children and all leaf nodes will be at the same level 6/6/2012 7:23 PM Copyright @ gdeepak.Com 12 .

Full and Perfect Binary Tree 6/6/2012 7:23 PM Copyright @ gdeepak.Com 13 .

Balanced and Degenerate Tree Balanced binary tree is a binary tree in which the height of two subtrees of every node never differ by more than 1 Degenerate tree : Where each parent has only one child 6/6/2012 7:23 PM Copyright @ gdeepak.Com 14 .

Balanced and Degenerate Tree 6/6/2012 7:23 PM Copyright @ gdeepak.Com 15 .

Com 16 .Few formulas n number of nodes e number of external nodes i number of internal nodes h height n = 2h + 1 − 1 for perfect binary trees min: n = 2h and max: n = 2h + 1 − 1 for complete binary trees e= 2h in a perfect binary tree Left most child is the smallest element of the BST and right most element is the largest element of the tree 6/6/2012 7:23 PM Copyright @ gdeepak.

1 6/6/2012 7:23 PM Copyright @ gdeepak.Formulas for complete binary trees e=i+1 n = 2e – 1 h (n .1)/2 e 2h h log2 e h log2 (n + 1) .Com 17 .

Com 18 .Converting a tree to binary tree 6/6/2012 7:23 PM Copyright @ gdeepak.

Com 19 .k) 6/6/2012 7:23 PM Copyright @ gdeepak.k) else return Search(Right(t).Searching in a tree (Recursion) Search(t. k) If t=null or k=t return t if k < x return Search(Left(t).

Searching in a tree (Iterative) Search(t. k) While t ≠ null or k ≠ t if k < t t←Left(t) else t← Right(t) return t 6/6/2012 7:23 PM Copyright @ gdeepak.Com 20 .

Com 21 .Complexity of search It will depend upon the height of the tree because with every loop iteration we are progressing to next level of the loop. Worst case: when we have a twig O(n) Average case : When tree is nearly complete O(logn) Best Case: O(1) Using a complex proof it is known that Expected height of a BST built from a random data is O(logn) 6/6/2012 7:23 PM Copyright @ gdeepak.

Insert(T.Com 22 . k) Insert(T. k) if Root(T) = null Root(T) =k else y←Root(T) while y ≠ null prev ← y if k<y y ← left(y) else y ← right(y) 6/6/2012 7:23 PM parent(k) ← prev If k < prev left(prev) ← x else right(prev) ← x Copyright @ gdeepak.

It will change the topology of the tree 6/6/2012 7:23 PM Copyright @ gdeepak.Com 23 .Special Case What if we need to insert a duplicate element Does the order of insertion matters : Yes.

Linked Representation 6/6/2012 7:23 PM Copyright @ gdeepak.Com 24 .

Tree Traversal A traversal visits the nodes of a tree in a systematic manner DFS (Depth first search of a tree has three types Preorder.Com 25 . Postorder and Inorder) BFS (Breadth first search) of a tree is level wise 6/6/2012 7:23 PM Copyright @ gdeepak.

Inorder traversal In inorder traversal.Com 26 . left node is visited before the root node and right node is visited after the root node Application: It gives data in sorted order in binary search trees InorderTraversal(x) If x ≠ null InorderTraversal(Left(x)) Print x // or any other work to be done on that node InorderTraversal(Right(x)) //Time Complexity Ө(n) 6/6/2012 7:23 PM Copyright @ gdeepak.

Com 27 . 6/6/2012 7:23 PM Copyright @ gdeepak. Pop Print and process.Non recursive inorder traversal To process a node: Follow left links until Null (push onto stack). Follow right link (push onto stack).

Com 6 63 631 63 6 65 6 10 10 8 10 14 - 28 .6 6/6/2012 7:23 PM Copyright @ gdeepak.

Preorder Traversal In preorder traversal. a node is visited before its descendants Application: print a structured document PreorderTraversal(x) If x ≠ null print x PreorderTraversal(Left(x)) PreorderTraversal(Right(x)) 6/6/2012 7:23 PM Copyright @ gdeepak.Com 29 .

Preorder Traversal 6 6/6/2012 7:23 PM Copyright @ gdeepak.Com 6 3 1 5 10 8 14 30 .

Evaluating arithmetic operation PostorderTraversal(x) If x ≠ null PostorderTraversal(Left(x)) PostorderTraversal(Right(x)) print x 6/6/2012 7:23 PM Copyright @ gdeepak.Postorder Traversal In postorder traversal.Com 31 . a node is visited after its descendants Application: compute space used by files in a directory and its subdirectories.

Com 1 5 3 8 14 10 6 32 .Postorder Traversal 6 6/6/2012 7:23 PM Copyright @ gdeepak.

Com 33 .BFS Traversal 6 6 3 10 1 5 8 14 6/6/2012 7:23 PM Copyright @ gdeepak.

Arithmetic expression trees ((2+2)+(2+2))+(3+3) 6/6/2012 7:23 PM Copyright @ gdeepak.Com 34 .

Finding postorder • Preorder abcdfge Inorder cbfdgae • From preorder a is the root. now find a in the inorder traversal • Now e is the right sub tree • We are left with sub tree • Preorder bcdfg Postorder cbfdg • Preorder dfg Postorder fdg 6/6/2012 7:23 PM Copyright @ gdeepak.Com a b c e d f g 35 .

g.Com 36 .Finding Inorder We cannot find inorder because there can be two trees with the same pre and post order e. Postorder is d c b a for both the trees below a a b b c c d 6/6/2012 7:23 PM d Copyright @ gdeepak.

6/6/2012 7:23 PM Copyright @ gdeepak. pre abcdfge post cfgdbea from this a is the root then e is the right child of a from post order and from Preorder there is nothing after e so e is the leaf bcdfg cfgdb Now b is root of left sub tree and d is right children ( from post order) and then from inorder c is only child of d which is left child and so on.Com 37 .Finding Inorder If each internal node of the binary tree has at least two children then the tree can be determined from pre and post order traversals.

Com 38 .Finding Min and Max TreeMin(x) While left(x)≠ null x← left(x) Return x TreeMax(x) While right(x)≠ null x← right(x) Return x 6/6/2012 7:23 PM Copyright @ gdeepak.

Com 39 . then successor is leftmost node in right sub tree 2: Right sub tree of x is empty. we are going to the next node in inorder 6/6/2012 7:23 PM Copyright @ gdeepak. find the node with the smallest key greater then key[x] Two cases depend upon right sub tree of x 1: Right sub tree of x is nonempty.Finding Successor Given x. If there is no such ancestor then successor is undefined. then keep going up until we are no longer a right child.

Finding Successor TreeSuccessor(x) If right(x)≠ null return TreeMin(Right(x)) Else y ← parent(x) while y ≠ null and x=right(y) x←y y ← parent(y) Return y 6/6/2012 7:23 PM Copyright @ gdeepak.Com keep going up until we’re no longer a right child 40 .

Insertion In a binary Search Tree Take an element whose left and right children are null and insert it into T Find place in T where z belongs (as if searching for z) and add z Runtime on a tree of height h is O(h) 6/6/2012 7:23 PM Copyright @ gdeepak.Com 41 .

Deletion: Case-I if x has no children : just remove x 6/6/2012 7:23 PM Copyright @ gdeepak.Com 42 .

Deletion Case-II If x has exactly one child then to delete x simply make p[x] point to that child 6/6/2012 7:23 PM Copyright @ gdeepak.Com 43 .

Deletion Case-III If x has two children. then to delete it we have to find its predecessor(going left and finding the rightmost node) or successor y and then Replace x with y (it will have at most one child) and delete y 6/6/2012 7:23 PM Copyright @ gdeepak.Com 44 .

Com 45 . then need to take care of the start pointer 6/6/2012 7:23 PM Copyright @ gdeepak.Case-IV To delete root and successor is undefined.

Com 46 . insertion and search worst case O(n) Average Case O(logn) Creating a BST (Inserting n elements one by one) worst case O(n2 ) Average case O(nlogn) Inorder traversal of a BST gives a sorted list and takes O(n) time.Time complexity Running time for delete. 6/6/2012 7:23 PM Copyright @ gdeepak.

Questions.Com 47 . Suggestions and Comments 6/6/2012 7:23 PM Copyright @ gdeepak.

278. 330. 202. 362. 344. 258. and we want to search for the number 363. 219. 911. 363 D) 2. 911. 381. 397. 266.Question 1 Suppose that we have numbers between 1 and 1000 in a binary search tree. 382. 245. 399. 898. 244. 363 6/6/2012 7:23 PM Copyright @ gdeepak. 387. Which of the following sequences could not be the sequences of nodes examined. 240.Com 48 . 220. 398. A) 2. 252. 401. 912. 363 C) 925. 363 B) 924.

37. 8.Question 2 A binary search tree is generated by inserting in order the following integers: 50. 3.Com 49 . 91. 15. 20. 24 The number of nodes in the left sub-tree and right sub-tree of the root respectively is A) (4. 8) 6/6/2012 7:23 PM Copyright @ gdeepak. 3) D) (3. 7) B) (7. 58. 4) C) (8. 60. 5. 62.

Question 3 Maximum number of nodes in a binary tree of level k.Com 50 . k ≥ 1 is A) 2k + 1 B) 2k – 1 C) 2k–1 D) 2k–1 – 1 6/6/2012 7:23 PM Copyright @ gdeepak.

- 09 Binary TreesUploaded byAhLeong
- Ds Lab ManualUploaded byAnanth Balakrishnan
- Unit 6Uploaded bybaluchandrashekar2008
- Lect 8 Trees.pptxUploaded byAthanasious Ramsis
- BSTUploaded byMelania Nitu
- TreeUploaded byRajesh Kumar
- TreesUploaded byKeith Tanaka Magaka
- In FixUploaded byGreendale Ramirez
- Data Structure Lecture 7 Tree[1]Uploaded bySweetMaina
- UNIT 2&3 finalUploaded bykashokcse16
- binary treeUploaded byThe Rock
- bstUploaded byAnshu Kumar
- Tree 1Uploaded bySalman Qureshi
- Ch6.TreesUploaded bySindhuPriya Arumugam
- [Google Interview Prep Guide] SWE - UGrad.pdfUploaded bydeathvoid22
- WeldPlanner-2010_UsersGuideUploaded by'Magda Looney Tesalonika'
- Improved lower bounds for coded cachingUploaded byAravindVR
- New Microsoft Office Word DocumentUploaded byektasakriti
- Discovering Fuzzy Time Interval Sequential Pattern in Sequence DatabasesUploaded byAckielKhan
- Arbol de Expansion MinimaUploaded byPaula Alfaro Lara
- A Replacement for Voronoi Diagrams of Near Linear SizeUploaded byvliviu
- PeopleSoft Tree Manager (Appendix B Configuring Tree Manager on the Web)Uploaded byNaveen Kumar Naidu
- A Hope TutorialUploaded byNick Thompson
- 100 TOP C Language Multiple Choice Questions and Answers _ Multiple Choice Questions and Answers Beginners and Experienced PDFUploaded byAvinash Rao
- Data StructuresUploaded bysonalibhagwatkar
- subidyaUploaded byLipismita Panigrahi
- 2nd Sem DS AssgnUploaded byNisha Ganatra
- java10Uploaded byKutluk Yıldırım
- BCA-302 newUploaded byTapamalya Sanyal
- 10.1.1.68Uploaded byKaycee Marquez Del Fin