Presented By:
Susheel Thakur
M.Tech(C.S)
Roll No- 324







Have you ever thought how does the OS
manages or files?
Why do we have a hierarchical file system?
How do files...


Tree
Nodes
 Each node can have 0 or more children
 A node can have at most one parent




Binary tree


Tree with ...


Terminology


Root ⇒ no parent



Leaf ⇒ no child



Interior ⇒ non-leaf



Height ⇒maximum level of a node



Lev...



General Tree – organization chart format
Parenthetical Listing

11/13/13 06:38 AM

Data Structures and Algorithms

5
11/13/13 06:38 AM

Data Structures and Algorithms

6


Parenthetical Listing – the algebraic expression,
where each open parenthesis indicates the start
of a new level and ea...
A (B (C D) E F (G H I) )
11/13/13 06:38 AM

Data Structures and Algorithms

8
List Representation
( A ( B ( E ( K, L ), F ), C ( G ), D ( H ( M ), I, J ) ) )
The root comes first, followed by a list o...


Every tree node:
object – useful information
 children – pointers to its children nodes


O

O

O

O

O
11/13/13 06:3...






A binary tree is a tree in which no node can
have more than two subtrees; the maximum
outdegree for a node is two...
11/13/13 06:38 AM

Data Structures and Algorithms

12
A null tree
is a tree
with no
nodes

11/13/13 06:38 AM

Data Structures and Algorithms

13




The height of binary trees can be
mathematically predicted
Given that we need to store N nodes in a
binary tree, the...


The minimum height of a binary tree is
determined as follows:

H min = [ log 2 N ] + 1
For instance, if there are three...


Given a height of the binary tree, H, the
minimum number of nodes in the tree is
given as follows:

N min = H

Data Str...


Given a height of the binary tree, H, the
maximum number of nodes in the tree is
given as follows:

N max = 2 − 1
H

Da...




A complete tree has the maximum number of
entries for its height. The maximum number is
reached when the last level ...
11/13/13 06:38 AM

Data Structures and Algorithms

19
11/13/13 06:38 AM

Data Structures and Algorithms

20
Sequential
Representation
A

B

C

D

[1]
[2]
[3]
[4]
[5]
[6]
[7]
[8]
[9]
.
[16]

(1) waste space
(2) insertion/deletion
p...
Linked Representation
typedef struct tnode *ptnode;
typedef struct tnode {
int data;
ptnode left, right;
};

data
left

da...
11/13/13 06:38 AM

Data Structures and Algorithms

23


A binary tree traversal requires that each node
of the tree be processed once and only once in a
predetermined sequence...
11/13/13 06:38 AM

Data Structures and Algorithms

25
11/13/13 06:38 AM

Data Structures and Algorithms

26
11/13/13 06:38 AM

Data Structures and Algorithms

27
11/13/13 06:38 AM

Data Structures and Algorithms

28
11/13/13 06:38 AM

Data Structures and Algorithms

29
Preorder Traversal (recursive version)
void preorder(tnode ptr)
/* preorder tree traversal */
{
if (ptr) {
printf(“%d”, pt...
11/13/13 06:38 AM

Data Structures and Algorithms

31
11/13/13 06:38 AM

Data Structures and Algorithms

32
Inorder Traversal (recursive version)
void inorder(tnode ptr)
/* inorder tree traversal */
{
if (ptr) {
inorder(ptr->left)...
11/13/13 06:38 AM

Data Structures and Algorithms

34
11/13/13 06:38 AM

Data Structures and Algorithms

35
Postorder Traversal (recursive version)
void postorder(tnode ptr)
/* postorder tree traversal */
{
if (ptr) {
postorder(pt...


Using Pre order and Post order Traversal



Using Post order and In order Traversal

11/13/13 06:38 AM

Data Structure...
1.
2.

3.

4.

Scan the preorder traversal from left to right.
For each scanned node locate its position in
inorder traver...
Preorder:

ABDHECFG

Inorder:

DHBEAFCG
A

B

D

C

E

F

G

H

11/13/13 06:38 AM

Data Structures and Algorithms

39
1.
2.

3.

Scan the post order traversal from right to left.
For each node scanned locate its position in
order traversal....
Postorder:

HDIEBJFKLGCA

Inorder:

HDBIEAFJCKGL
A

B

D

H

11/13/13 06:38 AM

C

E

I

F

G

J

Data Structures and Algo...


A variable is an expression.



If x and y are expressions, then ¬x, x∧y,
x∨y are expressions.



Parentheses can be ...
(x1 ∧ ¬x2) ∨ (¬ x1 ∧ x3) ∨ ¬x3
∨
∨

¬

∧

∧

X1

¬

¬

X2

11/13/13 06:38 AM

X3

X3

X1

postorder traversal (postfix eva...
11/13/13 06:38 AM

Data Structures and Algorithms

44
Upcoming SlideShare
Loading in...5
×

Trees

775
-1

Published on

Published in: Education, Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
775
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
25
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Trees

  1. 1. Presented By: Susheel Thakur M.Tech(C.S) Roll No- 324
  2. 2.     Have you ever thought how does the OS manages or files? Why do we have a hierarchical file system? How do files get saved and deleted under hierarchical directories ? SOLUTION: A hierarchical data structure called Trees. 11/13/13 06:38 AM Data Structures and Algorithms 2
  3. 3.  Tree Nodes  Each node can have 0 or more children  A node can have at most one parent   Binary tree  Tree with 0–2 children per node 11/13/13 06:38 AM Tree Data Structures and Algorithms Binary Tree 3
  4. 4.  Terminology  Root ⇒ no parent  Leaf ⇒ no child  Interior ⇒ non-leaf  Height ⇒maximum level of a node  Level ⇒ Length of path from root to node plus 1 Root node Interior nodes Height Leaf nodes 11/13/13 06:38 AM Data Structures and Algorithms 4
  5. 5.   General Tree – organization chart format Parenthetical Listing 11/13/13 06:38 AM Data Structures and Algorithms 5
  6. 6. 11/13/13 06:38 AM Data Structures and Algorithms 6
  7. 7.  Parenthetical Listing – the algebraic expression, where each open parenthesis indicates the start of a new level and each closing parenthesis completes the current level and moves up one level in the tree. 11/13/13 06:38 AM Data Structures and Algorithms 7
  8. 8. A (B (C D) E F (G H I) ) 11/13/13 06:38 AM Data Structures and Algorithms 8
  9. 9. List Representation ( A ( B ( E ( K, L ), F ), C ( G ), D ( H ( M ), I, J ) ) ) The root comes first, followed by a list of sub-trees data 11/13/13 06:38 AM link 1 link 2 ... Data Structures and Algorithms link n 9
  10. 10.  Every tree node: object – useful information  children – pointers to its children nodes  O O O O O 11/13/13 06:38 AM Data Structures and Algorithms 10
  11. 11.    A binary tree is a tree in which no node can have more than two subtrees; the maximum outdegree for a node is two. In other words, a node can have zero, one, or two subtrees. These subtrees are designated as the left subtree and the right subtree. 11/13/13 06:38 AM Data Structures and Algorithms 11
  12. 12. 11/13/13 06:38 AM Data Structures and Algorithms 12
  13. 13. A null tree is a tree with no nodes 11/13/13 06:38 AM Data Structures and Algorithms 13
  14. 14.   The height of binary trees can be mathematically predicted Given that we need to store N nodes in a binary tree, the maximum height is H max = N A tree with a maximum height is rare. It occurs when all of the nodes in the entire tree have only one successor. Data Structures and Algorithms 14
  15. 15.  The minimum height of a binary tree is determined as follows: H min = [ log 2 N ] + 1 For instance, if there are three nodes to be stored in the binary tree (N=3) then Hmin=2. Data Structures and Algorithms 15
  16. 16.  Given a height of the binary tree, H, the minimum number of nodes in the tree is given as follows: N min = H Data Structures and Algorithms 16
  17. 17.  Given a height of the binary tree, H, the maximum number of nodes in the tree is given as follows: N max = 2 − 1 H Data Structures and Algorithms 17
  18. 18.   A complete tree has the maximum number of entries for its height. The maximum number is reached when the last level is full. A tree is considered nearly complete if it has the minimum height for its nodes and all nodes in the last level are found on the left 11/13/13 06:38 AM Data Structures and Algorithms 18
  19. 19. 11/13/13 06:38 AM Data Structures and Algorithms 19
  20. 20. 11/13/13 06:38 AM Data Structures and Algorithms 20
  21. 21. Sequential Representation A B C D [1] [2] [3] [4] [5] [6] [7] [8] [9] . [16] (1) waste space (2) insertion/deletion problem A B -C ---D -. E A B C D E F G H I A B D E 11/13/13 06:38 AM [1] [2] [3] [4] [5] [6] [7] [8] [9] H I Data Structures and Algorithms C E F G 21
  22. 22. Linked Representation typedef struct tnode *ptnode; typedef struct tnode { int data; ptnode left, right; }; data left data right left 11/13/13 06:38 AM Data Structures and Algorithms right 22
  23. 23. 11/13/13 06:38 AM Data Structures and Algorithms 23
  24. 24.  A binary tree traversal requires that each node of the tree be processed once and only once in a predetermined sequence. 11/13/13 06:38 AM Data Structures and Algorithms 24
  25. 25. 11/13/13 06:38 AM Data Structures and Algorithms 25
  26. 26. 11/13/13 06:38 AM Data Structures and Algorithms 26
  27. 27. 11/13/13 06:38 AM Data Structures and Algorithms 27
  28. 28. 11/13/13 06:38 AM Data Structures and Algorithms 28
  29. 29. 11/13/13 06:38 AM Data Structures and Algorithms 29
  30. 30. Preorder Traversal (recursive version) void preorder(tnode ptr) /* preorder tree traversal */ { if (ptr) { printf(“%d”, ptr->data); preorder(ptr->left); predorder(ptr->right); } } 11/13/13 06:38 AM Data Structures and Algorithms 30
  31. 31. 11/13/13 06:38 AM Data Structures and Algorithms 31
  32. 32. 11/13/13 06:38 AM Data Structures and Algorithms 32
  33. 33. Inorder Traversal (recursive version) void inorder(tnode ptr) /* inorder tree traversal */ { if (ptr) { inorder(ptr->left); printf(“%d”, ptr->data); indorder(ptr->right); } } 11/13/13 06:38 AM Data Structures and Algorithms 33
  34. 34. 11/13/13 06:38 AM Data Structures and Algorithms 34
  35. 35. 11/13/13 06:38 AM Data Structures and Algorithms 35
  36. 36. Postorder Traversal (recursive version) void postorder(tnode ptr) /* postorder tree traversal */ { if (ptr) { postorder(ptr->left); postdorder(ptr->right); printf(“%d”, ptr->data); } } 11/13/13 06:38 AM Data Structures and Algorithms 36
  37. 37.  Using Pre order and Post order Traversal  Using Post order and In order Traversal 11/13/13 06:38 AM Data Structures and Algorithms 37
  38. 38. 1. 2. 3. 4. Scan the preorder traversal from left to right. For each scanned node locate its position in inorder traversal. Let the scanned node be X. The nodes preceding X in inorder form its left subtree and nodes succeeding it form right subtree. Repeat step1 for each symbol in the preorder. 11/13/13 06:38 AM Data Structures and Algorithms 38
  39. 39. Preorder: ABDHECFG Inorder: DHBEAFCG A B D C E F G H 11/13/13 06:38 AM Data Structures and Algorithms 39
  40. 40. 1. 2. 3. Scan the post order traversal from right to left. For each node scanned locate its position in order traversal. Let the scanned node be X. The node preceding X in inorder, form its left subtree and nodes succeeding it form right subtree. 11/13/13 06:38 AM Data Structures and Algorithms 40
  41. 41. Postorder: HDIEBJFKLGCA Inorder: HDBIEAFJCKGL A B D H 11/13/13 06:38 AM C E I F G J Data Structures and Algorithms K L 41
  42. 42.  A variable is an expression.  If x and y are expressions, then ¬x, x∧y, x∨y are expressions.  Parentheses can be used to alter the normal order of evaluation (¬ > ∧ > ∨).  Example: x1 ∨ (x2 ∧ ¬x3) 11/13/13 06:38 AM Data Structures and Algorithms 42
  43. 43. (x1 ∧ ¬x2) ∨ (¬ x1 ∧ x3) ∨ ¬x3 ∨ ∨ ¬ ∧ ∧ X1 ¬ ¬ X2 11/13/13 06:38 AM X3 X3 X1 postorder traversal (postfix evaluation) 43 Data Structures and Algorithms
  44. 44. 11/13/13 06:38 AM Data Structures and Algorithms 44
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×