BCT 2083 DISCRETE STRUCTURE AND APPLICATIONS - PowerPoint PPT Presentation

1 / 47
About This Presentation
Title:

BCT 2083 DISCRETE STRUCTURE AND APPLICATIONS

Description:

... words mathematics, physics, geography, zoology, meteorology, geology, psychology, ... Use trees to analyze certain types of games ... – PowerPoint PPT presentation

Number of Views:90
Avg rating:3.0/5.0
Slides: 48
Provided by: notesU
Category:

less

Transcript and Presenter's Notes

Title: BCT 2083 DISCRETE STRUCTURE AND APPLICATIONS


1
BCT 2083 DISCRETE STRUCTURE AND APPLICATIONS
  • CHAPTER 4
  • TREES

SITI ZANARIAH SATARI FIST/FSKKP UMP I0910
2
CHAPTER 4 TREES
  • CONTENT
  • 4.1 Introduction to Trees
  • 4.2 Application of Trees
  • 4.3 Tree Traversal
  • 4.4 Trees and Sorting (Data structure)
  • 4.5 Spanning Trees
  • 4.6 Minimum Spanning
  • Trees

3
4.1 INTRODUCTION TO TREES
CHAPTER 4 TREES
  • Define and recognize a tree
  • Define and recognize a rooted tree
  • Define and recognize a m-ary tree

4
4.1 INTRODUCTION TO TREES
A Tree
  • A tree is a connected undirected graph with no
    simple circuit.
  • An undirected graph is a tree if and only if
    there is a unique simple path between any two of
    its vertices.
  • THEOREM A tree with n vertices has n 1 edges.

EXAMPLES
a
b
c
a
b
c
a
b
c
d
e
f
d
e
f
d
e
f
NOT A TREE
NOT A TREE
A TREE
5
4.1 INTRODUCTION TO TREES
EXERCISE 4.1
  • Which of the following graphs are trees?

a
b
c
a
b
c
d
e
d
e
FIGURE 1
FIGURE 2
a
v2
v1
v3
c
d
e
v5
b
v4
FIGURE 3
FIGURE 4
6
4.1 INTRODUCTION TO TREES
A Rooted Tree
  • A rooted tree is a tree in which one vertex has
    been designated as the root and every edge is
    directed away from the root.
  • Different choice of root produce different rooted
    tree

EXAMPLES
c
f
a
g
a
b
d
d
c
b
e
b
d
a
e
g
e
f
g
f
c
A TREE with root c
A TREE with root a
A TREE
7
4.1 INTRODUCTION TO TREES
Properties of Rooted Trees
  • Parent A vertex other than root is a parent if
    it has one or more children
  • The parent of c is b
  • Children If A is a vertex with successors B and
    C, then B and C are the children of A.
  • The children of a is b, f and g
  • Siblings Children with the same parent vertex.
  • h, i and j are siblings
  • Level the length of the unique path from the
    root to a vertex
  • Vertex a is at level 0
  • Vertices d and e is at level 3

EXAMPLES
a
b
g
f
j
c
h
i
e
d
k
l
m
  • Height The maximum level of all the vertices
  • The height of this tree is 3.

8
4.1 INTRODUCTION TO TREES
Properties of Rooted Trees
  • Ancestor of a vertex (v) the vertices in the
    path from the root to this vertex excluding this
    vertex.
  • The ancestors of e are c, b and a
  • Descendent of a vertex (v) vertices that have v
    as ancestor.
  • The descendants of b are c, d and e
  • Leaf A vertex with no children
  • The leaves are d, e, f, i, k, l and m
  • Internal Vertices vertices that have children
  • The internal vertices are a, b, c, g, h and j

EXAMPLES
a
b
g
f
j
c
h
i
e
d
k
l
m
A subtree rooted at g
  • Subtree A subgraph of the tree consisting of
    a root and its descendent and all edges incident
    to these descendent.

9
4.1 INTRODUCTION TO TREES
EXERCISE 4.1
  • Answer these questions about the rooted tree
    illustrated.
  • Which vertex is the root?
  • Which vertices are internal?
  • Which vertices are leaves?
  • Which vertices are children of g?
  • Which vertex is the parent of o?
  • Which vertices are siblings of e?
  • Which vertices are ancestors of m?
  • Which vertices are descendants of d?

a
b
d
  • Find a subgraph.
  • Find the level of each vertex.
  • What is the height of this tree?
  • Is this tree a balanced tree?

c
e
g
f
h
i
o
j
k
l
m
n
p
r
q
s
10
4.1 INTRODUCTION TO TREES
m-ary Tree
  • A rooted tree is called an m-ary tree if every
    vertex has no more than m children.
  • The tree is called a full m-ary tree if every
    internal vertex has exactly m children.
  • A rooted m-ary tree is balanced if all leaves are
    at levels h or h-1.

EXAMPLES
c
a
a
a
e
b
c
d
e
b
d
c
b
d
f
g
k
j
h
i
l
m
e
g
f
g
f
A full binary TREE
A 3-ary TREE
A full 4-ary TREE
11
4.1 INTRODUCTION TO TREES
m-ary Tree
  • THEOREM 1 A full m-ary tree with i internal
    vertices contains n mi 1 vertices
  • THEOREM 2 A full m-ary tree with
  • n vertices has internal
    vertices and leaves.
  • i internal vertices has
    vertices and leaves.
  • l leaves has vertices and
    internal vertices.
  • THEOREM 3 There are at most leaves in
    an m-ary tree of height h.

12
4.1 INTRODUCTION TO TREES
EXAMPLE m-ary tree
  • Suppose that someone starts a chain letter. Each
    person who receives the letter is asked to send
    it on to four other people. Some people do this,
    but others do not send any letters.
  • How many people have seen the letter, including
    the first person, if no one receives more than
    one letter and if the chain letter ends after
    there have been 100 people, who read it but did
    not send it out?

Solution
Send letter to four other people ? 4-ary tree ? m
4 People send out the letter ? internal
vertices ? i People do not send out the letter ?
leaves ? l 100 By theorem 2 (iii) Number of
people have seen this letter ? n (4100 1) /
(4 1) 133 Number of people send out the
letter ? i 133 100 33
13
4.1 INTRODUCTION TO TREES
EXERCISE 4.1
  • A chain letter starts with a person sending a
    letter out to 10 others. Each person is asked to
    send the letter out to 10 others, and each letter
    contains a list of previous six people in the
    chain. Unless there are fewer than six names in
    the list, each person sends one dollar to the
    first person from the list, moves up each of
    other five names one position, and insert his
    names at the end of this list.
  • If no person breaks the chain and no one
    receives more than one letter, how much money
    will a person in the chain ultimately receive?

14
4.1 INTRODUCTION TO TREES
EXERCISE 4.1 EXTRA
  • PAGE 693, 694 and 695
  • Rosen K.H., Discrete Mathematics Its
    Applications, (Seventh Edition), McGraw-Hill,
    2007.

15
CHAPTER 4 TREES
  • 4.2 APPLICATION OF TREES
  • Introduce Binary Search Trees
  • Introduce Decision Trees
  • Introduce Game Trees

16
4.2 APPLICATION OF TREES
Binary Search Trees
EXAMPLE
  • A binary tree in which each child of a vertex is
    designated as a right or left child
  • No vertex has more than one right child or left
    child
  • Each vertex is labeled with a key
  • Vertices are assigned keys so that the key of a
    vertex is both larger than the keys of all
    vertices in its left subtree and smaller than the
    keys of all vertices in its right subtree.

Binary search tree for the words mathematics,
physics, geography, zoology, meteorology,
geology, psychology, and chemistry using
alphabetical order
mathematics
physics
geography
chemistry
geology
zoology
metereology
psycology
17
4.2 APPLICATION OF TREES
Decision Trees
EXAMPLE
  • A rooted tree in which each internal vertex
    corresponds to a decision, with a subtree at
    these vertices for each possible outcome of
    decision.
  • The possible solutions of the problem correspond
    to the paths to the leaves of this rooted tree.

A Decision tree that orders the elements of the
list a, b, c
a b
a lt b
a gt b
a c
b c
a lt c
b lt c
a gt c
b gt c
b c
c gt a gt b
a c
c gt b gt a
b lt c
a lt c
b gt c
a gt c
a gt c gt b
a gt b gt c
b gt c gt a
b gt a gt c
18
4.2 APPLICATION OF TREES
Game Trees
  • Use trees to analyze certain types of games
  • Vertices represent the positions can be in as it
    progresses
  • Edges represent legal moves between this
    position
  • Games tree is infinite if the games they
    represent never end

EXAMPLE
A Game tree that represents the first two level
of the tic-tac-toe game.
19
4.2 APPLICATION OF TREES
EXERCISE 4.2 EXTRA
  • PAGE 708, 709 and 710
  • Rosen K.H., Discrete Mathematics Its
    Applications, (Seventh Edition), McGraw-Hill,
    2007.

20
CHAPTER 4 TREES
  • 4.3 TREE TRAVERSAL
  • Determine preorder traversal, inorder traversal
    and postorder traversal of an ordered rooted
    tree.
  • Determine the infix, prefix, and postfix form of
    an expression.

21
4.3 TREE TRAVERSAL
Tree Traversal
  • Ordered trees are often used to restore
    data/info.
  • Tree traversal is a procedure for systematically
    visiting each vertex of an ordered rooted tree to
    access data.
  • If the tree is label by Universal Address System
    we can totally order the vertices using
    lexicographic ordering
  • Example 0 lt 1 lt 1.1 lt 1.2 lt 1.2.1 lt 1.3 lt 2 lt 3
    lt 3.1 lt
  • 3.1.1 lt 3.1.2 lt 3.1.2.1 lt
    3.1.2.2 lt 4 lt 4.1
  • Tree traversal algorithm
  • Preorder, inorder and postorder traversal

22
4.3 TREE TRAVERSAL
Preorder Traversal
  • Let T be an ordered rooted tree with root r.
  • If T consists only of r, then r is the preorder
    traversal of T.
  • If T1, T2, , Tn are subtrees at r from left to
    right in T, then the preorder traversal begins by
    visiting r, continues by traversing T1 in
    preorder, then T2 in preorder, and so on until Tn
    is traversed in preorder.

STEP 1 Visit r
r
TIPS Preorder Traversal Visit root,
visit subtrees left to right
T3
T2

T1
STEP 2 Visit T1 in
preorder
STEP n1 Visit Tn in
preorder
STEP 3 Visit T2 in
preorder
23
4.3 TREE TRAVERSAL
EXAMPLE Preorder Traversal
a
g
e
a
c
b
d
f
h
i
d
T
b
c
e
k
f
m
h
g
l
j
i
k
j
m
l
n
ITERATION 2
p
o
n
p
o
a
c
b
d
f
h
i
e
j
l
m
g
k
d
b
a
c
n
ITERATION 3
p
o
e
f
h
g
i
a
b
e
j
k
n
o
p
c
d
h
i
l
m
f
g
k
j
m
l
ITERATION 4
n
p
o
ITERATION 1
The preorder traversal of T
24
4.3 TREE TRAVERSAL
Inorder Traversal
  • Let T be an ordered rooted tree with root r.
  • If T consists only of r, then r is the inorder
    traversal of T.
  • If T1, T2, , Tn are subtrees at r from left to
    right in T, then the inorder traversal begins by
    traversing T1 in inorder, then visiting r,
    continues by traversing T2 in inorder, and so on
    until Tn is traversed in inorder.

STEP 2 Visit r
r
TIPS Inorder Traversal Visit leftmost
subtree, Visit root, Visit other subtrees left to
right.
T3
T2

T1
STEP 1 Visit T1 in
inorder
STEP n1 Visit Tn in
inorder
STEP 3 Visit T2 in
inorder
25
4.3 TREE TRAVERSAL
EXAMPLE Inorder Traversal
a
g
e
f
c
b
d
a
h
i
d
T
b
c
e
k
f
m
h
g
l
j
i
k
j
m
l
n
ITERATION 2
p
o
n
p
o
a
b
f
e
j
c
l
g
h
i
m
d
k
d
b
a
c
n
ITERATION 3
p
o
e
f
h
g
i
j
e
n
k
o
p
f
a
g
m
h
i
d
b
c
l
k
j
m
l
ITERATION 4
n
p
o
ITERATION 1
The inorder traversal of T
26
4.3 TREE TRAVERSAL
Postorder Traversal
  • Let T be an ordered rooted tree with root r.
  • If T consists only of r, then r is the postorder
    traversal of T.
  • If T1, T2, , Tn are subtrees at r from left to
    right in T, then the preorder traversal begins by
    traversing T1 in postorder, then T2 in postorder,
    and so on until Tn is traversed in postorder and
    ends by visiting r.

STEP n1 Visit r
r
TIPS Postorder Traversal Visit subtrees
left to right, Visit root.
T3
T2

T1
STEP 1 Visit T1 in
postorder
STEP n Visit Tn in
postorder
STEP 2 Visit T2 in
postorder
27
4.3 TREE TRAVERSAL
EXAMPLE Postorder Traversal
a
g
e
a
c
b
d
f
h
i
d
T
b
c
e
k
f
m
h
g
l
j
i
k
j
m
l
n
ITERATION 2
p
o
n
p
o
a
c
b
d
f
h
i
e
j
l
m
g
k
d
b
a
c
n
ITERATION 3
p
o
e
f
h
g
i
j
n
o
p
k
e
f
b
l
m
d
a
h
i
c
g
k
j
m
l
ITERATION 4
n
p
o
ITERATION 1
The preorder traversal of T
28
4.3 TREE TRAVERSAL
EXERCISE 4.3
  • Determine the order in which a preorder,
    inorder, and postorder traversal visits the
    vertices of the following rooted tree.

a
a
b
b
d
g
f
c
e
g
j
f
c
h
h
i
i
j
o
k
l
e
d
m
k
l
p
m
n
r
q
s
FIGURE 1
FIGURE 2
29
4.3 TREE TRAVERSAL
Represent Expression by Rooted Tree
  • We can represent complicated expression
    (propositions, sets, arithmetic) using ordered
    rooted trees.
  • EXAMPLE A binary tree representing
    ((xy)?2)((x-4)/3)


?
/
_

2
3
x
y
x
4
30
4.3 TREE TRAVERSAL
Infix, Prefix Postfix Notation
  • We obtain the Infix form of an expression when we
    traverse its rooted tree in Inorder.
  • The infix form for expression ((xy)?2)((x-4)/3)
    is
  • x y ?2 x 4 / 3 or ((xy)?2)((x-4)/3)
  • We obtain the Prefix form of an expression when
    we traverse its rooted tree in Preorder.
  • The prefix form for expression ((xy)?2)((x-4)/3)
    is ? x y 2 / - x 4 3
  • We obtain the Postfix form of an expression when
    we traverse its rooted tree in Postorder.
  • The postfix form for expression
    ((xy)?2)((x-4)/3) is x y 2 ? x 4 3 /

31
4.3 TREE TRAVERSAL
Evaluating Prefix Expression
  • Working right to left and performing operations
    using the operands on the right.
  • EXAMPLE
  • The value of the prefix expression - 2 3 5 /
    ? 2 3 4 is 3

- 2 3 5 / ? 2 3 4
- 2 3 5 2
2 ? 3 8
2 3 6
- 6 5 2
- 2 3 5 / 8 4
8/4 2
6 5 1
- 2 3 5 2
1 2
2 3 6
1 2 3
32
4.3 TREE TRAVERSAL
Evaluating Postfix Expression
  • Working left to right and performing operations
    using the operands on the left.
  • EXAMPLE
  • The value of the postfix expression 7 2 3 - 4
    ? 9 3 / is 4

7 2 3 - 4 ? 9 3 /
1 4 ? 9 3 /
1 ? 4 1
2 3 6
7 6 - 4 ? 9 3 /
1 9 3 /
7 - 6 1
9/3 3
1 4 ? 9 3 /
1 3
1 ? 4 1
1 3 4
33
4.3 TREE TRAVERSAL
EXERCISE 4.3
  • Represent the following expression using binary
    trees. Then write these expression in infix,
    prefix and postfix notations.
  • ((x2)?3)(y (3x)) 5
  • (AnB) (A?(B A))
  • What is the value of these expression in prefix
    expression?
  • ?3 2 ? 2 3 / 6 4 2
  • 3 3 ? 3 3 3 3
  • What is the value of these expression in postfix
    expression?
  • 3 2 2 ? 5 3 8 4 /
  • 9 3 / 5 7 2

34
4.3 TREE TRAVERSAL
EXERCISE 4.3 EXTRA
  • PAGE 722, 723 and 724
  • Rosen K.H., Discrete Mathematics Its
    Applications, (Seventh Edition), McGraw-Hill,
    2007.

35
CHAPTER 4 TREES
  • 4.5 SPANNING TREES
  • Find spanning trees of a simple graph

36
4.5 SPANNING TREES
Spanning Trees
  • Let G be a simple graph. A spanning tree of G is
    a subgraph of G that is a tree containing every
    vertex of G.
  • A simple graph is connected if and only if it has
    a spanning tree.
  • Applied in IP multitasking.

a
b
c
d
a
b
c
d
Not Spanning tree
e
f
g
a
b
c
d
e
f
g
Spanning tree
A simple graph
e
f
g
37
4.5 SPANNING TREES
EXERCISE 4.5
  • Find a spanning tree for the following graphs.

b
b
a
f
e
c
a
g
h
d
e
c
d
FIGURE 1
FIGURE 2
b
b
a
a
e
c
c
d
d
FIGURE 3
FIGURE 4
38
4.5 SPANNING TREES
EXERCISE 4.5 EXTRA
  • PAGE 734, 735, 736 and 737
  • Rosen K.H., Discrete Mathematics Its
    Applications, (Seventh Edition), McGraw-Hill,
    2007.

39
CHAPTER 4 TREES
  • 4.6 MINIMUM SPANNING TREES
  • Find minimum spanning tree using Prims algorithm
  • Find minimum spanning tree using Kruskals
    algorithm

40
4.6 MINIMUM SPANNING TREES
Minimum Spanning Trees
  • A minimum spanning tree in a connected weighted
    graph is a spanning tree that has the smallest
    possible sum of weights of it edges.
  • Two algorithms can be used
  • Prims Algorithm
  • Robert Prim, 1957
  • Kruskals Algorithm
  • Joseph Kruskal, 1956

41
4.6 MINIMUM SPANNING TREES
Prims Algorithm
  • Chose an edge with the least weight.
  • Include it in spanning tree, T.
  • Select an edge of least weight that is incident
    with a vertex of an edge in T.
  • If it does not create a cycle (simple circuit)
    with the edges in T, then include it in T
    otherwise discard it.
  • Repeat STEPS 3 and 4 until T contains n-1 edges.
  • There may be more than one minimum spanning tree
    for a given connected weighted simple graph.
  • If there are two edges with similar smallest
    weight, chose either one.

42
4.6 MINIMUM SPANNING TREES
EXAMPLE Prims Algorithm
c
13
13
b
10
d
b
16
7
15
12
7
a
11
10
a
d
b
e
12
7
10
FIGURE 1
a
The minimum spanning tree is given by
d
b
7
10
c
11
a
e
d
12
b
c
d
12
b
7
10
11
e
a
7
10
11
e
a
Total weight 40
43
4.6 MINIMUM SPANNING TREES
Kruskals Algorithm
  • Arrange the edges in G in increasing order.
  • Chose an edge with the minimum weight.
  • Include it in spanning tree, T.
  • Add an edge of least weight to T.
  • If it does not create a cycle (simple circuit)
    with the edges in T, then include it in T
    otherwise discard it.
  • Repeat STEPS 4 and 5 until T contains n-1 edges.
  • There may be more than one minimum spanning tree
    for a given connected weighted simple graph.
  • If there are two edges with similar smallest
    weight, chose either one.

44
4.6 MINIMUM SPANNING TREES
EXAMPLE Kruskals Algorithm
c
13
13
b
10
d
b
16
7
15
12
7
a
11
10
a
b
d
e
12
10
7
FIGURE 1
a
The minimum spanning tree is given by
b
d
10
7
c
11
a
e
b
d
c
10
12
b
d
7
10
11
12
e
a
7
11
e
a
Total weight 40
45
4.6 MINIMUM SPANNING TREES
EXERCISE 4.6
  • Construct a minimum spanning tree for each of the
    following connected weighted graphs using Prims
    and Kruskals algorithm.

b
a
8
c
f
3
11
6
1
1
2
e
1
2
8
6
3
5
7
b
e
a
f
8
1
2
1
1
h
g
3
5
c
d
7
d
FIGURE 1
FIGURE 2
46
4.6 MINIMUM SPANNING TREES
EXERCISE 4.6 EXTRA
  • PAGE 742 and 743
  • Rosen K.H., Discrete Mathematics Its
    Applications, (Seventh Edition), McGraw-Hill,
    2007.

47
CHAPTER 4 TREES
  • Tree is a connected undirected graph with no
    simple circuits
  • Trees have been employed to solve problems in a
    wide variety of disciplines.

SUMMARY
What NEXT? Chapter 5
Modeling Computation
THATS ALL THANK YOU
Write a Comment
User Comments (0)
About PowerShow.com