27
EC-211 DATA STRUCTURES LECTURE 11

EC-211 DATA STRUCTURES LECTURE 11. 2 Tree Data Structure Introduction –The Data Organizations Presented Earlier are Linear in That Items are One After

Embed Size (px)

Citation preview

Page 1: EC-211 DATA STRUCTURES LECTURE 11. 2 Tree Data Structure Introduction –The Data Organizations Presented Earlier are Linear in That Items are One After

EC-211 DATA STRUCTURES

LECTURE 11

Page 2: EC-211 DATA STRUCTURES LECTURE 11. 2 Tree Data Structure Introduction –The Data Organizations Presented Earlier are Linear in That Items are One After

2

Tree Data Structure

• Introduction– The Data Organizations Presented Earlier

are Linear in That Items are One After Another

– ADTs in This Lecture Organize Data in a Non-Linear, Hierarchical Form, Whereby an Item can Have More Than one Immediate Successor

Page 3: EC-211 DATA STRUCTURES LECTURE 11. 2 Tree Data Structure Introduction –The Data Organizations Presented Earlier are Linear in That Items are One After

Terminology

• Binary Tree: a finite set of elements that is either empty or is partitioned into three disjoint subsets.– The first subset contains a single element called

the root of the tree– The other two subsets are themselves binary

trees, called the left and right sub-trees of the original tree

– Each element of a binary tree is called a node

Page 4: EC-211 DATA STRUCTURES LECTURE 11. 2 Tree Data Structure Introduction –The Data Organizations Presented Earlier are Linear in That Items are One After

4

A Binary Tree

Q

V

T

K S

A E

L

Page 5: EC-211 DATA STRUCTURES LECTURE 11. 2 Tree Data Structure Introduction –The Data Organizations Presented Earlier are Linear in That Items are One After

5

Terminology• If there is an Edge from Node n to Node m, Then n is the

Parent of m, and m is a (left or right) Child of n• Each Node in a Tree Has at Most One Parent, and the Root

of the Tree has no Parent• Children of the Same parent are Called Siblings• A Node That Has no Children is Called a Leaf• Example Figure:

– Node A is the Root of the Tree,– Nodes B and C are Children of Node A– A is an Ancestor of D, and Thus, D is a Descendant of A– B and C are Not Related by Ancestor and Descendant Relation

A

FED

CB

Page 6: EC-211 DATA STRUCTURES LECTURE 11. 2 Tree Data Structure Introduction –The Data Organizations Presented Earlier are Linear in That Items are One After

6

Example: Jake’s Pizza Shop

Owner Jake

Manager Chef Brad Carol

Waitress Waiter Cook Helper Joyce Chris Max Len

Page 7: EC-211 DATA STRUCTURES LECTURE 11. 2 Tree Data Structure Introduction –The Data Organizations Presented Earlier are Linear in That Items are One After

7

Owner Jake

Manager Chef Brad Carol

Waitress Waiter Cook Helper Joyce Chris Max Len

A Tree Has a Root Node

ROOT NODE

Page 8: EC-211 DATA STRUCTURES LECTURE 11. 2 Tree Data Structure Introduction –The Data Organizations Presented Earlier are Linear in That Items are One After

8

Owner Jake

Manager Chef Brad Carol

Waitress Waiter Cook Helper Joyce Chris Max Len

Leaf nodes have no children

LEAF NODES

Page 9: EC-211 DATA STRUCTURES LECTURE 11. 2 Tree Data Structure Introduction –The Data Organizations Presented Earlier are Linear in That Items are One After

9

Owner Jake

Manager Chef Brad Carol

Waitress Waiter Cook Helper Joyce Chris Max Len

A Subtree

LEFT SUBTREE OF ROOT NODE

Page 10: EC-211 DATA STRUCTURES LECTURE 11. 2 Tree Data Structure Introduction –The Data Organizations Presented Earlier are Linear in That Items are One After

10

Owner Jake

Manager Chef Brad Carol

Waitress Waiter Cook Helper Joyce Chris Max Len

Terminology

RIGHT SUBTREE OF ROOT NODE

Page 11: EC-211 DATA STRUCTURES LECTURE 11. 2 Tree Data Structure Introduction –The Data Organizations Presented Earlier are Linear in That Items are One After

11

ApplicationsBecause Trees are Hierarchical in Nature, You Can Use Them to Represent Information That Itself is Hierarchical in Nature, For Example Organization Charts and Family Trees

VPManufacturing

DirectorSales

DirectorMedia Relations

VPMarketing

VPPersonnel

President

RoseJoseph

John Jacqueline

Caroline

Page 12: EC-211 DATA STRUCTURES LECTURE 11. 2 Tree Data Structure Introduction –The Data Organizations Presented Earlier are Linear in That Items are One After

12

Example: How many leaf nodes?

Q

V

T

K S

A E

L

Page 13: EC-211 DATA STRUCTURES LECTURE 11. 2 Tree Data Structure Introduction –The Data Organizations Presented Earlier are Linear in That Items are One After

13

Example: How many descendants of Q?

Q

V

T

K S

A E

L

Page 14: EC-211 DATA STRUCTURES LECTURE 11. 2 Tree Data Structure Introduction –The Data Organizations Presented Earlier are Linear in That Items are One After

14

Example: How many ancestors of K?

Q

V

T

K S

A E

L

Page 15: EC-211 DATA STRUCTURES LECTURE 11. 2 Tree Data Structure Introduction –The Data Organizations Presented Earlier are Linear in That Items are One After

15

Terminology• Trees come in Many Shapes.

• Level of a Node n– If n is the Root, it is at level 0.– If n is not the Root, its Level is 1 Greater Than the Level of its Parent

• Depth (also called Height) of Tree – Length of the Longest Path (in terms of number of edges) From the Root to a

Leaf– Maximum level of any leaf in the tree

A

ED

CB

GF

A A

BB CC

DD E

E

FF

GG

Page 16: EC-211 DATA STRUCTURES LECTURE 11. 2 Tree Data Structure Introduction –The Data Organizations Presented Earlier are Linear in That Items are One After

16

Owner Jake

Manager Chef Brad Carol

Waitress Waiter Cook Helper Joyce Chris Max Len

A Tree Has Levels

LEVEL 0

Page 17: EC-211 DATA STRUCTURES LECTURE 11. 2 Tree Data Structure Introduction –The Data Organizations Presented Earlier are Linear in That Items are One After

17

Owner Jake

Manager Chef Brad Carol

Waitress Waiter Cook Helper Joyce Chris Max Len

Level One

LEVEL 1

Page 18: EC-211 DATA STRUCTURES LECTURE 11. 2 Tree Data Structure Introduction –The Data Organizations Presented Earlier are Linear in That Items are One After

18

Owner Jake

Manager Chef Brad Carol

Waitress Waiter Cook Helper Joyce Chris Max Len

Level Two

LEVEL 2

Page 19: EC-211 DATA STRUCTURES LECTURE 11. 2 Tree Data Structure Introduction –The Data Organizations Presented Earlier are Linear in That Items are One After

19

Terminology• Strictly Binary tree

– In a strictly Binary Tree, all non-leaf Nodes Have exactly Two Children Each.

Not A strictly Binary TreeA strictly Binary Tree

Page 20: EC-211 DATA STRUCTURES LECTURE 11. 2 Tree Data Structure Introduction –The Data Organizations Presented Earlier are Linear in That Items are One After

20

Terminology• A Complete Binary Tree of Height h is a strictly binary

tree all of whose leaves are at Level h

A complete Binary Tree of Height 3

Page 21: EC-211 DATA STRUCTURES LECTURE 11. 2 Tree Data Structure Introduction –The Data Organizations Presented Earlier are Linear in That Items are One After

21

Traversals of a Binary Tree

• When Traversing any Binary Tree, the Algorithm has Three Choices of When to Visit the Node r:– It Can Visit r Before it Traverses both of r’s

Subtrees– It Can Visit r After it Has Traversed r’s Left Subtree

TL But Before it Traverses r’s Right Subtree TR

– It Can Visit r After it Has Traversed Both of r’s Subtrees

• These Traversals are Called Preorder, Inorder, and Postorder traversals Respectively

Page 22: EC-211 DATA STRUCTURES LECTURE 11. 2 Tree Data Structure Introduction –The Data Organizations Presented Earlier are Linear in That Items are One After

22

Traversals of a Binary Tree

Preorder Traversal 1. Visit the root

2. Traverse the Left subtree in Preorder

3. Traverse the Right subtree in Preorder

Page 23: EC-211 DATA STRUCTURES LECTURE 11. 2 Tree Data Structure Introduction –The Data Organizations Presented Earlier are Linear in That Items are One After

23

Preorder Traversal: J E A H T M Y

‘J’

‘E’

‘A’ ‘H’

‘T’

‘M’ ‘Y’

root

Page 24: EC-211 DATA STRUCTURES LECTURE 11. 2 Tree Data Structure Introduction –The Data Organizations Presented Earlier are Linear in That Items are One After

24

Traversals of a Binary TreeInorder Traversal

1. Traverse the Left subtree in Inorder

2. Visit the root

3. Traverse the Right subtree in Inorder

Page 25: EC-211 DATA STRUCTURES LECTURE 11. 2 Tree Data Structure Introduction –The Data Organizations Presented Earlier are Linear in That Items are One After

25

Inorder Traversal: A E H J M T Y

‘J’

‘E’

‘A’ ‘H’

‘T’

‘M’ ‘Y’

root

Page 26: EC-211 DATA STRUCTURES LECTURE 11. 2 Tree Data Structure Introduction –The Data Organizations Presented Earlier are Linear in That Items are One After

26

Traversals of a Binary TreePostorder Traversal

1. Traverse the Left subtree in Postorder

2. Traverse the Right subtree in Postorder

3. Visit the root

Page 27: EC-211 DATA STRUCTURES LECTURE 11. 2 Tree Data Structure Introduction –The Data Organizations Presented Earlier are Linear in That Items are One After

27

‘J’

‘E’

‘A’ ‘H’

‘T’

‘M’ ‘Y’

root

Postorder Traversal: A H E M Y T J