© University of Auckland Trees – (cont.) CS 220 Data Structures & Algorithms Dr. Ian Watson.

Slides:



Advertisements
Similar presentations
Chapter 10: Trees. Definition A tree is a connected undirected acyclic (with no cycle) simple graph A collection of trees is called forest.
Advertisements

Trees1 More on Trees University Fac. of Sci. & Eng. Bus. School Law School CS Dept. EE Dept. Math. Dept.
Binary Trees, Binary Search Trees CMPS 2133 Spring 2008.
Binary Trees, Binary Search Trees COMP171 Fall 2006.
CS 171: Introduction to Computer Science II
Fall 2007CS 2251 Trees Chapter 8. Fall 2007CS 2252 Chapter Objectives To learn how to use a tree to represent a hierarchical organization of information.
Trees Nature Lover’s View Of A Tree root branches leaves.
Lists A list is a finite, ordered sequence of data items. Two Implementations –Arrays –Linked Lists.
Tree Traversal. Traversal Algorithms preorder inorder postorder.
Lec 15 April 9 Topics: l binary Trees l expression trees Binary Search Trees (Chapter 5 of text)
4/17/2017 Section 9.3 Tree Traversal ch9.3.
Unit 11a 1 Unit 11: Data Structures & Complexity H We discuss in this unit Graphs and trees Binary search trees Hashing functions Recursive sorting: quicksort,
Binary Tree Properties & Representation. Minimum Number Of Nodes Minimum number of nodes in a binary tree whose height is h. At least one node at each.
1 abstract containers hierarchical (1 to many) graph (many to many) first ith last sequence/linear (1 to 1) set.
Chapter 12 Trees. Copyright © 2005 Pearson Addison-Wesley. All rights reserved Chapter Objectives Define trees as data structures Define the terms.
Binary Tree Traversal Methods In a traversal of a binary tree, each element of the binary tree is visited exactly once. During the visit of an element,
Binary and Other Trees CSE, POSTECH. 2 2 Linear Lists and Trees Linear lists are useful for serially ordered data – (e 1,e 2,e 3,…,e n ) – Days of week.
Chapter Chapter Summary Introduction to Trees Applications of Trees (not currently included in overheads) Tree Traversal Spanning Trees Minimum.
Trees Chapter 8. 2 Tree Terminology A tree consists of a collection of elements or nodes, organized hierarchically. The node at the top of a tree is called.
Review Binary Tree Binary Tree Representation Array Representation Link List Representation Operations on Binary Trees Traversing Binary Trees Pre-Order.
Trees Nature Lover’s View Of A Tree root branches leaves.
CS Data Structures Chapter 5 Trees. Chapter 5 Trees: Outline  Introduction  Representation Of Trees  Binary Trees  Binary Tree Traversals 
Lecture 10 Trees –Definiton of trees –Uses of trees –Operations on a tree.
1 Trees 2 Binary trees Section Binary Trees Definition: A binary tree is a rooted tree in which no vertex has more than two children –Left and.
Data Structures : Project 5 Data Structures Project 5 – Expression Trees and Code Generation.
Spring 2010CS 2251 Trees Chapter 6. Spring 2010CS 2252 Chapter Objectives Learn to use a tree to represent a hierarchical organization of information.
Binary Trees. Binary Tree Finite (possibly empty) collection of elements A nonempty binary tree has a root element The remaining elements (if any) are.
Binary Trees 2 Overview Trees. Terminology. Traversal of Binary Trees. Expression Trees. Binary Search Trees.
Tree (new ADT) Terminology:  A tree is a collection of elements (nodes)  Each node may have 0 or more successors (called children)  How many does a.
Binary Trees, Binary Search Trees RIZWAN REHMAN CENTRE FOR COMPUTER STUDIES DIBRUGARH UNIVERSITY.
Tree Data Structures. Introductory Examples Willliam Willliam BillMary Curt Marjorie Richard Anne Data organization such that items of information are.
درختها Trees ساختمان داده ها والگوريتمها مقايسه ليست خطي و درخت Linear lists are useful for serially ordered data. – (e 0, e 1, e 2, …, e n-1 ) – Days.
Compiled by: Dr. Mohammad Omar Alhawarat
Trees Chapter 8. 2 Tree Terminology A tree consists of a collection of elements or nodes, organized hierarchically. The node at the top of a tree is called.
Prof. Amr Goneid, AUC1 CSCE 210 Data Structures and Algorithms Prof. Amr Goneid AUC Part 4. Trees.
Trees, Binary Trees, and Binary Search Trees COMP171.
Discrete Structures Trees (Ch. 11)
Advance Data Structure 1 College Of Mathematic & Computer Sciences 1 Computer Sciences Department م. م علي عبد الكريم حبيب.
Tree Traversals, TreeSort 20 February Expression Tree Leaves are operands Interior nodes are operators A binary tree to represent (A - B) + C.
Lecture - 10 on Data Structures. 6:05:57 PM Prepared by, Jesmin Akhter, Lecturer, IIT,JU.
Introduction to Trees IT12112 Lecture 05 Introduction Tree is one of the most important non-linear data structures in computing. It allows us to implement.
Trees By P.Naga Srinivasu M.tech,(MBA). Basic Tree Concepts A tree consists of finite set of elements, called nodes, and a finite set of directed lines.
Rooted Tree a b d ef i j g h c k root parent node (self) child descendent leaf (no children) e, i, k, g, h are leaves internal node (not a leaf) sibling.
Trees Trees are a very useful data structure. Many different kinds of trees are used in Computer Science. We shall study just a few of these.
1 Trees 2 Binary trees Section Binary Trees Definition: A binary tree is a rooted tree in which no vertex has more than two children –Left and.
Lab 4 Due date: March 29. Linked Representation Each binary tree node is represented as an object whose data type is binaryTreeNode. The space required.
Foundation of Computing Systems Lecture 4 Trees: Part I.
Graphs and Trees Mathematical Structures for Computer Science Chapter 5 Copyright © 2006 W.H. Freeman & Co.MSCS SlidesGraphs and Trees.
1 Trees. 2 Trees Trees. Binary Trees Tree Traversal.
Trees Chapter 15.
Binary Tree ADT: Properties
CSCE 210 Data Structures and Algorithms
Trees Another Abstract Data Type (ADT)
Csc 2720 Instructor: Zhuojun Duan
Trees Trees are a very useful data structure. Many different kinds of trees are used in Computer Science. We shall study just a few of these.
Section 8.1 Trees.
Trees Trees are a very useful data structure. Many different kinds of trees are used in Computer Science. We shall study just a few of these.
Binary Trees, Binary Search Trees
Binary Tree Traversal Methods
Trees Another Abstract Data Type (ADT)
Binary Tree Traversal Methods
Trees Another Abstract Data Type (ADT)
Binary Tree Traversal Methods
Section 9.3 by Andrew Watkins
Binary Trees, Binary Search Trees
Binary Tree Properties & Representation
Binary Tree Traversal Methods
Trees Trees are a very useful data structure. Many different kinds of trees are used in Computer Science. We shall study just a few of these.
Binary Trees, Binary Search Trees
NATURE VIEW OF A TREE leaves branches root. NATURE VIEW OF A TREE leaves branches root.
Presentation transcript:

© University of Auckland Trees – (cont.) CS 220 Data Structures & Algorithms Dr. Ian Watson

2 © University of Auckland Prefix Form The prefix form of a variable or constant is the same as its infix form.  a, b, 3.25 The relative order of operands is the same in infix and prefix forms. Operators come immediately before the prefix form of their operands.  Infix = a + b  Postfix = ab+  Prefix = +ab

3 © University of Auckland Binary Tree Form a + b + ab - a - a

4 © University of Auckland Binary Tree Form (a + b) * (c – d) / (e + f) / + a b - c d + e f *

5 © University of Auckland Merits Of Binary Tree Form Left and right operands are easy to visualize Code optimization algorithms work with the binary tree form of an expression Simple recursive evaluation of expression

6 © University of Auckland Binary Tree Properties & Representation

7 © University of Auckland Minimum Number Of Nodes Minimum number of nodes in a binary tree whose height is h At least one node at each of first h levels. minimum number of nodes is h

8 © University of Auckland Maximum Number Of Nodes All possible nodes at first h levels are present. Maximum number of nodes = … + 2 h-1 = 2 h - 1

9 © University of Auckland Number Of Nodes & Height Let n be the number of nodes in a binary tree whose height is h. h <= n <= 2 h – 1 log 2 (n+1) <= h <= n

10 © University of Auckland Full Binary Tree A full binary tree of a given height h has 2 h – 1 nodes. Height 4 full binary tree 2 4 – 1 = 15

11 © University of Auckland Numbering Nodes In A Full Binary Tree Number the nodes 1 through 2 h – 1 Number by levels from top to bottom Within a level number from left to right

12 © University of Auckland Node Number Properties Parent of node i is node i / 2, unless i = 1. Node 1 is the root and has no parent.

13 © University of Auckland Node Number Properties Left child of node i is node 2i, unless 2i > n, where n is the number of nodes. If 2i > n, node i has no left child.

14 © University of Auckland Node Number Properties Right child of node i is node 2i+1, unless 2i+1 > n, where n is the number of nodes. If 2i+1 > n, node i has no right child.

15 © University of Auckland Complete Binary Tree With n Nodes Start with a full binary tree that has at least n nodes. Number the nodes as described earlier The binary tree defined by the nodes numbered 1 through n is the unique n node complete binary tree.

16 © University of Auckland Example Complete binary tree with 10 nodes

17 © University of Auckland Binary Tree Representation Array representation Linked representation

18 © University of Auckland Array Representation Number the nodes using the numbering scheme for a full binary tree. The node that is numbered i is stored in tree[i]. tree [] 0510 abcdefghij

19 © University of Auckland Right-Skewed Binary Tree An n node binary tree needs an array whose length is between n+1 and 2 n. a c 1 3 g 7 o 15 tree [] 0510 a-c---g o

20 © University of Auckland Linked Representation Each binary tree node is represented as an object whose data type is BinaryTreeNode The space required by an n node binary tree is n * (space required by one node)

21 © University of Auckland The Class BinaryTreeNode package dataStructures; public class BinaryTreeNode { Object element; BinaryTreeNode leftChild; // left subtree BinaryTreeNode rightChild;// right subtree // constructors and any other methods come here }

22 © University of Auckland Linked Representation Example a cb d f e g h leftChild element rightChild root

23 © University of Auckland Some Binary Tree Operations Determine the height. Determine the number of nodes. Make a clone. Determine if two binary trees are clones. Display the binary tree. Evaluate the arithmetic expression represented by a binary tree. Obtain the infix form of an expression. Obtain the prefix form of an expression. Obtain the postfix form of an expression.

24 © University of Auckland Binary Tree Traversal Many binary tree operations are done by performing a traversal of the binary tree. In a traversal, each element of the binary tree is visited exactly once. During the visit of an element, all action (make a clone, display, evaluate the operator, etc.) with respect to this element is taken.

25 © University of Auckland Binary Tree Traversal Methods Preorder Inorder Postorder Level order