trees chapter 9. tree zgraph yconnected yundirected yno simple circuits (acyclic) yno multiple edges...

Post on 11-Jan-2016

223 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Trees

Chapter 9

Tree

graph connected undirected no simple circuits (acyclic)

no multiple edges no loops

Sample Trees?

Tree Tree Not Not

Theorem 1

An undirected graph is a tree iff A simple path exists in a tree between any two vertices

Root

A particular tree vertex from which we assign a

direction to each edge

Each edge is directed away from the root

Rooted tree

A tree with a designated rootA directed graphDirection of all edges is away from

root

Parent

In a rooted tree, a parent of vertex v is

the unique vertex u such that there is a directed edge from

u to v

Child

The vertex v to which a directed edge exists from parent u in a rooted tree

Siblings

vertices with the same parent

Leaf

a vertex of a tree that has no children

Ancestors of node A

nodes located on the path from A to the root

Descendants of node A

nodes located on the path from A to a leaf node

Internal vertices

Vertices with children

Sub-tree

a tree contained in a larger tree whose root may be a child node in the larger tree

m-ary tree

a rooted tree with no more than m children per

vertex

Full m-ary tree

a rooted tree whose every internal vertex has exactly m children

Theorem 2

A tree with n vertices has n - 1 edges.

7 vertices

6 edges

Theorem 3

A full m-ary tree with i internal vertices contains n = mi + 1 vertices.

m = 2

i = 7

15 vertices

Tree Height

height (level) of a node the length of the path from the root to a

node

height of a tree the length of the longest path in a tree

The maximum number of nodes at any level is mh

h is height of a node at that level of the tree

21

22

23

The minimum number of nodes of a tree of height h is h+1

The maximum number of nodes in a tree of height h is m(h+1) -1

2(3+1) - 1

Balanced tree

A rooted m-ary tree of height h is called balanced if all leaves are at level h or h - 1

NOYES

YES

If an m-ary tree of height h has l leaves, and the tree is full and balanced,

h = ceil(log m l)

h = ceil (log28)h = 3

What does this imply about access speed if a tree is used as a data structure?

Applications of Trees

8.2

Binary search tree

A binary tree where key value in any node is greater than key of its left child and any of its children

(the nodes in the left subtree)

less than key of its right child and any of its children

(the nodes in the right subtree)http://math.nemcc.edu/bst/

Binary Search Tree Example

Form a BST with the words Mathematics, Physics, Geography, Zoology, Meteorology, Geology, Psychology, Chemistry

NOTE:Input order determines a tree's shape.

Tree Animation

Tree Traversal

8.3

Inorder Tree Traversal

process Left subtree inorder Visit a node (or process node) Process Right subtree inorder

Processes BST vertices in ascending sequence

http://nova.umuc.edu/~jarc/idsv/lesson1.html

Inorder Traversal Example LVR

Arps, Dietz, Egofske, Fairchild, Garth, Huston, KeithMagillicuddy, Nathan, Perkins, Seliger, Talbot, Underwood,Verkins, Zarda

Preorder Tree Traversal

allows quickest access to the whole tree

VISIT a node process LEFT subtree in preorder process RIGHT subtree in preorder

Preorder Traversal Example VLR

Magillicuddy, Fairchild, Dietz, Arps, Egofske, Huston, Garth, Keith, Talbot, Perkins, Nathan, Selinger, Verkins, Underwood, Zarda

Postorder Tree Traversal

good for deletion of nodes; postfix notation

process LEFT subtree in postorder process RIGHT subtree in postorder VISIT a node

Postorder Traversal Example LRV

Arps, Egofske, Dietz, Garth, Keith, Huston, Fairchild,Nathan, Selinger, Perkinds, Underwood, Zarda, Verkins,Talbot, Magillicuddy

Expression Tree

An ordered rooted tree

associates operands & operators in a uniform way

+

Give Pre, In, Postorder

PreOrder: - + + * 6 2 7 * 8 3 / 6 7

InOrder: 6 * 2 + 7 + 8 * 3 - 6 / 7

PostOrder: 6 2 * 7 + 8 3 * + 6 7 / -

+

Spanning Trees

9.4

Spanning Subgraph

A spanning subgraph of G is G’ = (V, E’) where E’ is a subset of E

Note every vertex of G is included

Spanning Tree

A spanning subgraph that is a tree connected acyclic

See p. 581-2

Depth First Search

A procedure for constructing a spanning tree by adding edges that form a path until this is not possible then moving back up the tree until a vertex is found where a

new path can be formed

http://www.cs.sunysb.edu/~skiena/combinatorica/animations/search.html

Breadth First Search

A procedure for constructing a spanning tree that successively adds all edges incident to the last set of

edges added unless a simple circuit is

formed

http://www.cs.duke.edu/~wcp/DFSanim.html http://152.3.140.5/~wcp/DFSanim.html

Perform DFS, BFS search

DFS: a, b, c, d, e, f, g BFS: a b c g d e f

Perform DFS, BFS search

DFS: a, b, c, d, e, f BFS: a b d e c f

Minimum Spanning Tree

A connected weighted graph is a spanning tree that has the smallest possible sum of weights

of its edges.

http://study.haifa.ac.il/~hvaiderm/sem3.html

top related