Download presentation
Presentation is loading. Please wait.
Published byMelinda Wood Modified over 9 years ago
1
CH 7 : TREE ACKNOWLEDGEMENT: THESE SLIDES ARE ADAPTED FROM SLIDES PROVIDED WITH DATA STRUCTURES AND ALGORITHMS IN C++, GOODRICH, TAMASSIA AND MOUNT (WILEY 2004) AND SLIDES FROM NANCY M. AMATO 1
2
OUTLINE General Trees (Ch. 7.1) Binary Trees (Ch. 7.3) Tree Traversals (Ch. 7.2) 2
3
WHAT IS A TREE? In computer science, a tree is an abstract model of a hierarchical structure A tree consists of nodes with a parent-child relation Applications: Organization charts File systems Programming environments 3 Computers”R”Us SalesR&DManufacturing LaptopsDesktops US International EuropeAsiaCanada
4
FORMAL DEFINITION OF TREE 4
5
TREE TERMINOLOGY Root: node without parent (A) Internal node: node with at least one child (A, B, C, F) Leaf (aka External node): node without children (E, I, J, K, G, H, D) Ancestors of a node: parent, grandparent, great- grandparent, etc. Siblings of a node: Any node which shares a parent Descendant of a node: child, grandchild, great- grandchild, etc. 5 A B D C G H E F I J K
6
EXERCISE Answer the following questions about the tree shown on the right: Classify each node of the tree as a root, leaf, or internal node List the ancestors of nodes 3, 7, 8, and 1. Which are the parents? List the descendants of nodes 3, 7, 8, and 1. Which are the children? 6 1 243 78 5 6 9 10 11
7
TREE TERMINOLOGY Depth of a node: number of ancestors Height of a tree: maximum depth of any node (3) 7 A B D C G H E F I J K
8
EXERCISE Answer the following questions about the tree shown on the right: List the depths of nodes 3, 7, 8, and 1. What is the height of the tree? 8 1 243 78 5 6 9 10 11
9
TREE TERMINOLOGY 9 subtee A B D C G H E F I J K
10
EXERCISE Draw the subtrees that are rooted at node 2 and at node 3. 10 1 243 78 5 6 9 11
11
TREE ADT 11
12
A LINKED STRUCTURE FOR GENERAL TREES A node is represented by an object storing Element Parent node Sequence of children nodes Node objects implement the Position ADT 12 B D A CE F B ADF C E
13
BINARY TREE 13
14
BINARY TREE A binary tree is a tree with the following properties: Each internal node has two children The children of a node are an ordered pair We call the children of an internal node left child and right child Alternative recursive definition: a binary tree is either a tree consisting of a single node, or a tree whose root has an ordered pair of children, each of which is a binary tree Applications Arithmetic expressions Decision processes Searching 14 A BC F G D E H I
15
TREE PROPERTIES 15
16
PROOF BY INDUCTION Three parts: Base Cases Inductive hypothesis Proof 16 subtee
17
BINARY TREE TERMINOLOGY Full/Proper Tree: All internal node has 2 children Improper tree: Each internal node has 1 or 2 children. 17
18
EXERCISE State whether each of these trees are proper, improper, complete 18 A B C D
19
ARITHMETIC EXPRESSION TREE Binary tree associated with an arithmetic expression Internal nodes: operators Leaves: operands Example: arithmetic expression tree for the expression (2 (a - 1) + (3 b)) 19 2 a1 3b
20
DECISION TREE Binary tree associated with a decision process Internal nodes: questions with yes/no answer Leaves: decisions Example: dining decision 20 Want a fast meal? How about coffee?On expense account? StarbucksSpike’sAl FornoCafé Paragon Yes No YesNoYesNo
21
BINARY TREE ADT Update methods may also be defined by data structures implementing the Binary Tree ADT 21
22
A LINKED STRUCTURE FOR BINARY TREE STRUCTURE A node is represented by an object storing Element Parent node Left child node Right child node 22 B D A CE B AD CE
23
TREE TRAVERSALS 23
24
PREORDER TRAVERSALS A traversal visits the nodes of a tree in a systematic manner In a preorder traversal, a node is visited before its descendants Application: print a structured document 24 Make Money Fast! 1. MotivationsReferences2. Methods 2.1 Stock Fraud 2.2 Ponzi Scheme 1.1 Greed1.2 Avidity 2.3 Bank Robbery 1 2 3 5 4 678 9
25
EXERCISE In a preorder traversal, a node is visited before its descendants List the nodes of this tree in preorder traversal order. 25 A B D C G H E F I J K
26
POSTORDER TRAVERSAL In a postorder traversal, a node is visited after its descendants Application: compute space used by files in a directory and its subdirectories 26 cs16/ homeworks/ todo.txt 1K programs/ DDR.java 10K Stocks.java 25K h1c.doc 3K h1nc.doc 2K Robot.java 20K 9 3 1 7 2 456 8
27
EXERCISE In a postorder traversal, a node is visited after its descendants List the nodes of this tree in postorder traversal order. 27 A B D C G H E F I J K
28
INORDER TRAVERSAL – BINARY TREE 28 3 1 2 5 6 79 8 4
29
EXERCISE In an inorder traversal a node is visited after its left subtree and before its right subtree List the nodes of this tree in inorder traversal order. 29 A BC G H E F I J
30
EXERCISE 30
31
APPLICATION PRINT ARITHMETIC EXPRESSIONS Specialization of an inorder traversal print operand or operator when visiting node print “(“ before traversing left subtree print “)“ after traversing right subtree 31 2 a1 3b ((2 ( a 1)) (3 b))
32
APPLICATION EVALUATE ARITHMETIC EXPRESSIONS Specialization of a postorder traversal recursive method returning the value of a subtree when visiting an internal node, combine the values of the subtrees 32 2 51 32
33
EXERCISE Draw an expression tree that has Four leaves, storing the values 1, 5, 6, and 7 3 internal nodes, storing operations +, -, *, / operators can be used more than once, but each internal node stores only one The value of the root is 21 33
34
EULER TOUR TRAVERSAL Generic traversal of a binary tree Includes as special cases the preorder, postorder and inorder traversals Walk around the tree and visit each node three times: on the left (preorder) from below (inorder) on the right (postorder) 34 2 51 32 L B R
35
EULER TOUR TRAVERSAL 35 2 51 32 L B R
36
APPLICATION PRINT ARITHMETIC EXPRESSIONS Specialization of an Euler Tour traversal Left-visit: if node is internal, print “(” Bottom-visit: print value or operator stored at node Right-visit: if node is internal, print “)” 36 2 a1 3b ((2 ( a 1)) (3 b))
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.