Lecture A12 Binary Trees

1 / 38
About This Presentation
Title:

Lecture A12 Binary Trees

Description:

They all traverse the left subtree before the right subtree. ... Traverse the right subtree. 8/29/09. CSE1303 Part A. 20. Example: Inorder. 31. 43. 64. 20 ... –

Number of Views:65
Avg rating:3.0/5.0
Slides: 39
Provided by: kymberlyf
Category:

less

Transcript and Presenter's Notes

Title: Lecture A12 Binary Trees


1
Lecture A12Binary Trees
  • CSE1303 Part A
  • Data Structures and Algorithms

2
Overview
  • Trees.
  • Terminology.
  • Traversal of Binary Trees.
  • Expression Trees.
  • Binary Search Trees.

3
Trees
  • Family Trees.
  • Organisation Structure Charts.
  • Program Design.
  • Structure of a chapter in a book.

4
Parts of a Tree
5
Parts of a Tree
nodes
6
Parts of a Tree
parent node
7
Parts of a Tree
child nodes
parent node
8
Parts of a Tree
child nodes
parent node
9
Parts of a Tree
root node
10
Parts of a Tree
leaf nodes
11
Parts of a Tree
sub-tree
12
Parts of a Tree
sub-tree
13
Parts of a Tree
sub-tree
14
Parts of a Tree
sub-tree
15
Binary Tree
  • Each node can have at most 2 children

16
Traversal
  • Systematic way of visiting all the nodes.
  • Methods
  • Preorder, Inorder, and Postorder
  • They all traverse the left subtree before the
    right subtree.
  • The name of the traversal method depends on when
    the node is visited.

17
Preorder Traversal
  • Visit the node.
  • Traverse the left subtree.
  • Traverse the right subtree.

18
Example Preorder
43
31
64
20
40
56
89
28
33
47
59
19
Inorder Traversal
  • Traverse the left subtree.
  • Visit the node.
  • Traverse the right subtree.

20
Example Inorder
43
31
64
20
40
56
89
28
33
47
59
21
Postorder Traversal
  • Traverse the left subtree.
  • Traverse the right subtree.
  • Visit the node.

22
Example Postorder
43
31
64
20
40
56
89
28
33
47
59
23
Expression Tree
  • A Binary Tree built with operands and operators.
  • Also known as a parse tree.
  • Used in compilers.

24
Example Expression Tree

/
/
1
3

4
6
7
1/3 67 / 4
25
Notation
  • Preorder
  • Prefix Notation
  • Inorder
  • Infix Notation
  • Postorder
  • Postfix Notation

26
Example Infix

/
/
1
3

4
6
7
27
Example Postfix

/
/
1
3

4
7
6
Recall Reverse Polish Notation
28
Example Prefix

/
/
1
3

4
6
7

/
1
3
/

6
7
4
29
Binary Search Tree
  • A Binary Tree such that
  • Every node entry has a unique key.
  • All the keys in the left subtree of a node are
    less than the key of the node.
  • All the keys in the right subtree of a node are
    greater than the key of the node.

30
Example 1
key is an integer
43
31
64
20
40
56
89
28
33
47
59
31
Example 1
key is an integer
43
31
64
20
40
56
89
28
33
47
59
32
Insert
  • Create new node for the item.
  • Find a parent node.
  • Attach new node as a leaf.

33
Insert
57
Example
43
31
64
20
40
56
89
28
33
47
59
34
Insert
57
Example
43
31
64
20
40
56
89
28
33
47
59
35
Search Checklist
  • if target key is less than current nodes key,
    search the left sub-tree.
  • else, if target key is greater than current
    nodes key, search the right sub-tree.
  • returns
  • if found, pointer to node containing target key.
  • otherwise, NULL pointer.

36
Search
Example
59
43
31
64
20
40
56
89
28
33
47
59
57
found
37
Search
Example
61
43
31
64
20
40
56
89
28
33
47
59
57
failed
38
Revision
  • Binary Tree
  • Preorder, Inorder, Postorder Traveral
  • Expression Trees
  • Prefix, Infix, and Postfix notation
  • Insert and Search

Preparation
  • Read Chapter 9.2 in Kruse et al.
Write a Comment
User Comments (0)
About PowerShow.com