Tree A tree is defined as a finite set of one or more nodes such that [a] There is a specially designated node called the root and [b] The rest of the nodes could be partitioned into t disjoint sets (t >0) each set representing a tree Ti, i=1,2, . . . t known as sub tree of the tree. 2
Tree A node in the definition of the tree represents an item of information, and the links between the nodes termed as branches, represent an association between the items of information. 3
A B C D E F G H I J K L Level 1 Level 2 Level 3 Level 4 4
Tree  Definition of Tree emphasizes on the aspect of [a] Connectedness, and [b] Absence of closed loops 5
Basic terminologies degree of the node  leaf nodes or terminal nodes non terminal nodes  children  siblings ancestors degree of a tree hierarchical structure height or depth of a tree  forest 6
Tree Terminology  A tree consists of a collection of elements or nodes, with each node linked to its successors  The node at the top of a tree is called its root  The links from a node to its successors are called branches  The successors of a node are called its children 7
Tree Terminology (continued)  Each node in a tree has exactly one parent except for the root node, which has no parent  Nodes that have the same parent are siblings  A node that has no children is called a leaf node  A generalization of the parent-child relationship is the ancestor-descendent relationship 8
Tree Terminology (continued)  The predecessor of a node is called its parent  A sub tree of a node is a tree whose root is a child of that node  The level of a node is a measure of its distance from the root 9
Tree Terminology (continued)  Node: stores the actual data and links to other nodes  Parent: immediate predecessor of a node  Root: specially designated node which has no parent  Child: immediate successor of a node. 10
Tree Terminology(continued)  Leaf: node without any child  Level: rank of the hierarchy and root node has level zero(0). Node at level i has the level i+1 for its child and i-1 for its parent. This is true for all nodes except the root 11
Tree Terminology (continued)  Height (depth): Maximum number of nodes possible in a path starting from root node to leaf node. Height of a tree given by h = lmax, lmax is the maximum level of the tree.  Degree of node maximum number of children possible for a node  Siblings  nodes having the same parent 12
Tree Terminology  Ancestor of a Node: Those nodes that occur on the path from the root to the given node  Degree of a Tree: Maximum degree of the node in the tree  Forest : A set of Zero or more Disjoint trees. 13
A B C D E F G H I J K L Level 1 Level 2 Level 3 Level 4 Degree of the tree = 4 ( Max degree of A) Height of the tree = 4 (Max level) 14
Representation of a tree  List Representation (A (B(F,G,H), C, D(I), E(J,K(L))) ) for the tree Considered in the Example 15 • Linked List Representation
DATA LINK 1 LINK 2 … LINK n (a) General node structure T A B C D E F K G H I L J (b) Linked list representation of the tree 16
Binary Trees A binary tree T is defined as a finite set of elements called nodes such that [a] T is empty (Called the Null tree or Empty tree) or [b] T contains a distinguished node R called the root of T and the remaining nodes of T form an ordered pair of disjoint binary trees T1 and T2 17
Binary Trees  A binary tree has the characteristic of all nodes having at most two branches, that is, all nodes have a degree of at most 2. A binary tree can therefore be empty or consist of a root node and two disjoint binary trees termed left subtree and right subtree. 18
A G C D B E F Level 1 Level 2 Level 3 19
Important observations regarding binary trees:  The maximum number of nodes on level i of a binary tree is 2i-1, i>1  The maximum number of nodes in a binary tree of height h is 2h-1, h>1  For any non empty binary tree, if to is the number of terminal nodes and t2 is the number of nodes of degree 2, then to=t2+1 20
A binary tree of height h which has all its permissible maximum number of nodes viz., 2h-1 intact is known as a full binary tree of height h. 21 A G C D B E F 1 2 3 4 5 6 7
A binary tree with n’ nodes and height h is complete if its nodes correspond to the nodes which are numbered 1 to n (n’ n) in a full binary tree of height h. 22 A C D B 1 E F 2 3 4 5 6 Height of a complete binary tree with n given by log ( 1) 2 h  n 
A complete binary tree obeys the following properties with regard to its node numbering: [a] If a parent node has a number i then its left child has the number 2i (2i < n). If 2i > n then i has no left child. [b] If a parent node has a number i, then its right child has the number 2i+1 (2i + 1 <n). If 2i + 1 > n then i has no right child. 23
A complete binary tree obeys the following properties with regard to its node numbering: [c] If a child node (left or right) has a number i then the parent node has the number i /2 if i 1. If i =1 then i is the root and hence has no parent. 24
A binary tree which is dominated solely by left child nodes or right child nodes is called a skewed binary tree or more specifically left skewed binary tree or right skewed binary tree respectively. a b c d n o m Left skewed Right skewed p 25
Extended Binary Tree: 2-Tree A binary tree T is said to be 2-Tree or an extended binary tree if each node N has either 0 or 2 children. Nodes with 2 children are called internal nodes and the nodes with 0 children are called external nodes. 26
Representation of Binary Tree Binary tree can be represented by means of [a] Array [b] linked list 27
Representation Of Binary Trees Array Representation Sequential representation of a tree with depth d will require an array with approx 2d + 1 elements 28 2 4 5 10 1 a c b e d f 11 1 2 3 4 5 6 7 8 9 10 11 a b c d e f
Linked representation 29 LCHILD DATA RCHILD a b c d T e f
 Observation regarding the linked representation of Binary Tree [a] If a binary tree has n nodes then the number of pointers used in its linked representation is 2 * n [b] The number of null pointers used in the linked representation of a binary tree with n nodes is n + 1 30
Traversing Binary Tree Three ways of traversing the binary tree T with root R Preorder [a] Process the root R [b] Traverse the left sub-tree of R in preorder [c] Traverse the right sub-tree of R in preorder 31 a. k. a node-left-right traversal (NLR)
Traversing Binary Tree In-order [a] Traverse the left sub-tree of R in in-order [b] Process the root R [c] Traverse the right sub-tree of R in in-order 32 a. k. a left-node-right traversal (LNR)
Traversing Binary Tree Post-order [a] Traverse the left sub-tree of R in post-order [b] Traverse the right sub-tree of R in post-order [c] Process the root R 33 a. k. a left-right-node traversal (LRN)
Illustrations for Traversals  Assume: visiting a node is printing its label  Preorder: 1 3 5 4 6 7 8 9 10 11 12  Inorder: 4 5 6 3 1 8 7 9 11 10 12  Postorder: 4 6 5 3 8 11 12 10 9 7 1 8 9 10 34 1 3 11 5 4 6 7 12
Illustrations for Traversals (Contd.)  Assume: visiting a node is printing its data  Preorder: 15 8 2 6 3 7 11 10 12 14 20 27 22 30  Inorder: 2 3 6 7 8 10 11 12 14 15 20 22 27 30  Postorder: 3 7 6 2 10 14 12 11 8 22 30 27 20 15 35 6 15 8 2 3 7 11 10 14 12 20 27 22 30
Formulation of Binary tree from Its traversal 1. If preorder is given=>First node is the root If postorder is given=>Last node is the root 2. Once the root node is identified ,all nodes in the left subtrees and right subtrees of the root node can be identified. 3. Same technique can be applied repeatedly to form subtrees 36
4.Two traversals are essential out of which one should inorder, another may be preorder or postorder 5. But we can’t form a binary tree if only preorder and postorder has given. 37
Example: For Given Inorder and Preorder Inorder: D B H E A I F J F CG Preorder: A B D E H C F I J G Now root is A Left subtree: D B H E Right subtree: I F J C G 38
continues. A In:D B H E I F J C G Pre:B D E H C F I J G D H E I F J G E H F I J I J H 39
Example: For Given Inorder and Postorder 40 Inorder: n1,n2, n3, n4, n5, n6, n7, n8, n9 Postorder: n1,n3, n5, n4, n2, n8, n7, n9, n6 So here n6 is the root
 Reference:  Data structure using c by Rina Thareja  Data structure using c by Trembly Sorenson  http://en.wikipedia.org/wiki/datastructure 41
Thank you 42

non linear data structure -introduction of tree

  • 2.
    Tree A treeis defined as a finite set of one or more nodes such that [a] There is a specially designated node called the root and [b] The rest of the nodes could be partitioned into t disjoint sets (t >0) each set representing a tree Ti, i=1,2, . . . t known as sub tree of the tree. 2
  • 3.
    Tree A nodein the definition of the tree represents an item of information, and the links between the nodes termed as branches, represent an association between the items of information. 3
  • 4.
    A B CD E F G H I J K L Level 1 Level 2 Level 3 Level 4 4
  • 5.
    Tree  Definitionof Tree emphasizes on the aspect of [a] Connectedness, and [b] Absence of closed loops 5
  • 6.
    Basic terminologies degreeof the node  leaf nodes or terminal nodes non terminal nodes  children  siblings ancestors degree of a tree hierarchical structure height or depth of a tree  forest 6
  • 7.
    Tree Terminology A tree consists of a collection of elements or nodes, with each node linked to its successors  The node at the top of a tree is called its root  The links from a node to its successors are called branches  The successors of a node are called its children 7
  • 8.
    Tree Terminology (continued)  Each node in a tree has exactly one parent except for the root node, which has no parent  Nodes that have the same parent are siblings  A node that has no children is called a leaf node  A generalization of the parent-child relationship is the ancestor-descendent relationship 8
  • 9.
    Tree Terminology (continued)  The predecessor of a node is called its parent  A sub tree of a node is a tree whose root is a child of that node  The level of a node is a measure of its distance from the root 9
  • 10.
    Tree Terminology (continued)  Node: stores the actual data and links to other nodes  Parent: immediate predecessor of a node  Root: specially designated node which has no parent  Child: immediate successor of a node. 10
  • 11.
    Tree Terminology(continued) Leaf: node without any child  Level: rank of the hierarchy and root node has level zero(0). Node at level i has the level i+1 for its child and i-1 for its parent. This is true for all nodes except the root 11
  • 12.
    Tree Terminology (continued)  Height (depth): Maximum number of nodes possible in a path starting from root node to leaf node. Height of a tree given by h = lmax, lmax is the maximum level of the tree.  Degree of node maximum number of children possible for a node  Siblings  nodes having the same parent 12
  • 13.
    Tree Terminology Ancestor of a Node: Those nodes that occur on the path from the root to the given node  Degree of a Tree: Maximum degree of the node in the tree  Forest : A set of Zero or more Disjoint trees. 13
  • 14.
    A B CD E F G H I J K L Level 1 Level 2 Level 3 Level 4 Degree of the tree = 4 ( Max degree of A) Height of the tree = 4 (Max level) 14
  • 15.
    Representation of atree  List Representation (A (B(F,G,H), C, D(I), E(J,K(L))) ) for the tree Considered in the Example 15 • Linked List Representation
  • 16.
    DATA LINK 1LINK 2 … LINK n (a) General node structure T A B C D E F K G H I L J (b) Linked list representation of the tree 16
  • 17.
    Binary Trees Abinary tree T is defined as a finite set of elements called nodes such that [a] T is empty (Called the Null tree or Empty tree) or [b] T contains a distinguished node R called the root of T and the remaining nodes of T form an ordered pair of disjoint binary trees T1 and T2 17
  • 18.
    Binary Trees A binary tree has the characteristic of all nodes having at most two branches, that is, all nodes have a degree of at most 2. A binary tree can therefore be empty or consist of a root node and two disjoint binary trees termed left subtree and right subtree. 18
  • 19.
    A G C D B E F Level 1 Level 2 Level 3 19
  • 20.
    Important observations regardingbinary trees:  The maximum number of nodes on level i of a binary tree is 2i-1, i>1  The maximum number of nodes in a binary tree of height h is 2h-1, h>1  For any non empty binary tree, if to is the number of terminal nodes and t2 is the number of nodes of degree 2, then to=t2+1 20
  • 21.
    A binary treeof height h which has all its permissible maximum number of nodes viz., 2h-1 intact is known as a full binary tree of height h. 21 A G C D B E F 1 2 3 4 5 6 7
  • 22.
    A binary treewith n’ nodes and height h is complete if its nodes correspond to the nodes which are numbered 1 to n (n’ n) in a full binary tree of height h. 22 A C D B 1 E F 2 3 4 5 6 Height of a complete binary tree with n given by log ( 1) 2 h  n 
  • 23.
    A complete binarytree obeys the following properties with regard to its node numbering: [a] If a parent node has a number i then its left child has the number 2i (2i < n). If 2i > n then i has no left child. [b] If a parent node has a number i, then its right child has the number 2i+1 (2i + 1 <n). If 2i + 1 > n then i has no right child. 23
  • 24.
    A complete binarytree obeys the following properties with regard to its node numbering: [c] If a child node (left or right) has a number i then the parent node has the number i /2 if i 1. If i =1 then i is the root and hence has no parent. 24
  • 25.
    A binary treewhich is dominated solely by left child nodes or right child nodes is called a skewed binary tree or more specifically left skewed binary tree or right skewed binary tree respectively. a b c d n o m Left skewed Right skewed p 25
  • 26.
    Extended Binary Tree:2-Tree A binary tree T is said to be 2-Tree or an extended binary tree if each node N has either 0 or 2 children. Nodes with 2 children are called internal nodes and the nodes with 0 children are called external nodes. 26
  • 27.
    Representation of BinaryTree Binary tree can be represented by means of [a] Array [b] linked list 27
  • 28.
    Representation Of BinaryTrees Array Representation Sequential representation of a tree with depth d will require an array with approx 2d + 1 elements 28 2 4 5 10 1 a c b e d f 11 1 2 3 4 5 6 7 8 9 10 11 a b c d e f
  • 29.
    Linked representation 29 LCHILD DATA RCHILD a b c d T e f
  • 30.
     Observation regardingthe linked representation of Binary Tree [a] If a binary tree has n nodes then the number of pointers used in its linked representation is 2 * n [b] The number of null pointers used in the linked representation of a binary tree with n nodes is n + 1 30
  • 31.
    Traversing Binary Tree Three ways of traversing the binary tree T with root R Preorder [a] Process the root R [b] Traverse the left sub-tree of R in preorder [c] Traverse the right sub-tree of R in preorder 31 a. k. a node-left-right traversal (NLR)
  • 32.
    Traversing Binary Tree In-order [a] Traverse the left sub-tree of R in in-order [b] Process the root R [c] Traverse the right sub-tree of R in in-order 32 a. k. a left-node-right traversal (LNR)
  • 33.
    Traversing Binary Tree Post-order [a] Traverse the left sub-tree of R in post-order [b] Traverse the right sub-tree of R in post-order [c] Process the root R 33 a. k. a left-right-node traversal (LRN)
  • 34.
    Illustrations for Traversals  Assume: visiting a node is printing its label  Preorder: 1 3 5 4 6 7 8 9 10 11 12  Inorder: 4 5 6 3 1 8 7 9 11 10 12  Postorder: 4 6 5 3 8 11 12 10 9 7 1 8 9 10 34 1 3 11 5 4 6 7 12
  • 35.
    Illustrations for Traversals(Contd.)  Assume: visiting a node is printing its data  Preorder: 15 8 2 6 3 7 11 10 12 14 20 27 22 30  Inorder: 2 3 6 7 8 10 11 12 14 15 20 22 27 30  Postorder: 3 7 6 2 10 14 12 11 8 22 30 27 20 15 35 6 15 8 2 3 7 11 10 14 12 20 27 22 30
  • 36.
    Formulation of Binarytree from Its traversal 1. If preorder is given=>First node is the root If postorder is given=>Last node is the root 2. Once the root node is identified ,all nodes in the left subtrees and right subtrees of the root node can be identified. 3. Same technique can be applied repeatedly to form subtrees 36
  • 37.
    4.Two traversals areessential out of which one should inorder, another may be preorder or postorder 5. But we can’t form a binary tree if only preorder and postorder has given. 37
  • 38.
    Example: For GivenInorder and Preorder Inorder: D B H E A I F J F CG Preorder: A B D E H C F I J G Now root is A Left subtree: D B H E Right subtree: I F J C G 38
  • 39.
    continues. A In:DB H E I F J C G Pre:B D E H C F I J G D H E I F J G E H F I J I J H 39
  • 40.
    Example: For GivenInorder and Postorder 40 Inorder: n1,n2, n3, n4, n5, n6, n7, n8, n9 Postorder: n1,n3, n5, n4, n2, n8, n7, n9, n6 So here n6 is the root
  • 41.
     Reference: Data structure using c by Rina Thareja  Data structure using c by Trembly Sorenson  http://en.wikipedia.org/wiki/datastructure 41
  • 42.