- By
**yanni** - Follow User

- 111 Views
- Uploaded on

Download Presentation
## PowerPoint Slideshow about ' Concept of Trees' - yanni

**An Image/Link below is provided (as is) to download presentation**

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript

### Concept of Trees

Min Chen

School of Computer Science and Engineering

Seoul National University

Content

- Definition of Trees
- Representing Rooted Tree
- Tree Traversal
- Preorder Traversal
- Postorder Traversal
- Level Order Traversal

Definition of Trees

- Tree:
- Set of nodes and edges that connect them
- Exactly one path between any 2 nodes

- Rooted Tree:
- One distinguished node is called the root
- Every node C, except root, has one parent P, the first node on path from c to the root. C is P’s child
- Root has no parent
- A node can have any number of children

Some Definitions

- Leaf
- Node with no children

- Siblings
- Nodes with same parent

- Ancestors
- nodes on path from d to rott, including d, d’s parent, d’s grand parent, … root

- Descendant
- If A is B’s ancestor, then B is A’s Descendant

Some Definitions (2)

- Length of path
- Number of edges in path

- Depth of node n
- Length of path from n to root
- Depth of root is zero

- Height of node n
- Length of path from n to its deepest descendant
- Height of any leaf is zero
- Height of a tree= Height of the root

- Subtree rooted at n
- The tree formed by n and its descendants

Representing Rooted Trees

- G & T
- Each node has 3 references stored in a list
- Item
- Parent
- Children

- Each node has 3 references stored in a list
- Another Option: Sibling Tree
- Siblings are directly linked

Sibling Tree

Parent

Class SibTreeNode

{

Object item ;

SibTreeNode parent ;

SibTreeNodefirstChild;

SibTreeNodenextSibling;

}

Item

First Child

Next Sibling

Sibling Tree

Parent

Parent

Parent

Parent

Parent

Parent

Parent

Parent

Item

Item

Item

Item

Item

Item

Item

Item

First Child

First Child

First Child

First Child

First Child

First Child

First Child

First Child

Next Sibling

Next Sibling

Next Sibling

Next Sibling

Next Sibling

Next Sibling

Next Sibling

Next Sibling

Tree Traversal

- Rooted Tree
- Preorder Traversal
- Postorder Traversal
- Level Order Traversal

- Binary Tree
- InorderTraveral

Preorder Traversal

- Visit each node before recursively visiting its children, left to right

B has no child, no sibling

A

A

A has no child, then sibling

A’s First Child

C

B

B

C

C’s First Child

B’s First Child

D

G

D

E

F

G

H

G has no child, then sibling

D has no child, then sibling

E

H

H has no child, no sibling

E has no child, then sibling

F

F has no child, no sibling

Preorder Traversal

- Preorder Traversal Realization by Recursion

Class SibTreeNode {

public void preorder() {

this.visit();

if(firstChild!=null){

firstChild.preorder();

}

if(nextSibling!=null){

nextSibling.preorder();

}

}

}

Preorder Traversal

- Preorder Traversal Realization by Stacks

Stack:

A

B

C

D

E

G

B

F

D

E

F

G

H

C

H

A

Visiting Sequence:

A

B

D

E

F

C

G

H

Postorder Traversal

- Visit each node’s children (left-to-right) before the node itself

A

B

C

D

E

F

G

H

Postorder Traversal

- Postorder Traversal Realization by Recursion

Class SibTreeNode {

public void postorder() {

if(firstChild!=null) {

firstChild.postorder();

}

this.visit();

if(nextSibling!=null) {

nextSibling.postorder();

}

}

}

Level Order Traversal

- Visit root, then all (height-1) nodes, then all (height-2) nodes, … etc.

A

B

C

D

E

F

G

H

Level Order Traversal

- Level Order Traversal Realization by Queues

Queue:

A

H

B

C

G

F

D

E

F

G

H

E

D

C

B

A

Visiting Sequence:

A

B

C

D

E

F

G

H

Binary Tree

- A Binary Tree
- No node has > 2 children
- Every child is either left child or a right child, even if it is the only child

Representing Binary Tree

- Binary Tree Node

Parent

Item

Class BiTreeNode

{

Object item ;

BiTreeNode parent ;

BiTreeNodeleftChild;

BiTreeNoderightChild;

}

Left Child

Right Child

A Binary Tree

Parent

Parent

Parent

Parent

Parent

Parent

Item

Item

Item

Item

Item

Item

Left Child

Left Child

Left Child

Left Child

Left Child

Left Child

Right Child

Right Child

Right Child

Right Child

Right Child

Right Child

Inorder Traversal for Binary Tree

- Visit left child, then node, then right child

Class BiTreeNode{

public void inorder() {

if(leftChild!=null){

leftChild.inorder();

}

this.visit();

if(rightChild!=null) {

rightChild.inorder();

}

}

}

Download Presentation

Connecting to Server..