DS Unit 2
DS Unit 2
Unit-2
Trees
Trees
⚫Tree data structure is a collection of data (Node) which
is organized in hierarchical structure recursively
⚫In tree data structure, every individual element is
called as Node.
⚫Node in a tree data structure stores the actual data of
that particular element and link to next element in
hierarchical structure.
⚫In a tree data structure, if we have N number of nodes
then we can have a maximum of N-1 number of links.
Tree
Tree Terminology
⚫1. Root:
⚫In a tree data structure, the first node is called as Root Node.
⚫Every tree must have a root node
⚫The root node is the origin of the tree data structure.
⚫ In any tree, there must be only one root node.
Tree Terminology
⚫2. Edge
⚫ In a tree data structure, the connecting link between any
two nodes is called as EDGE
⚫ In a tree with 'N' number of nodes there will be a
maximum of 'N-1' number of edges.
Tree Terminology
⚫3. Parent
⚫In a tree data structure, the node which is a predecessor
of any node is called as PARENT NODE.
⚫The node which has a branch from it to any other node
is called a parent node.
Tree Terminology
⚫ 4. Child
⚫ In a tree data structure, the node which is descendant of any node is called
as CHILD Node.
⚫ In simple words, the node which has a link from its parent node is called as
child node.
⚫ In a tree, any parent node can have any number of child nodes. In a tree, all
the nodes except root are child nodes.
Tree Terminology
⚫5. Siblings
⚫In a tree data structure, nodes which belong to same
Parent are called as SIBLINGS
Tree Terminology
⚫6. Leaf
⚫In a tree data structure, the node which does not have a
child is called as LEAF Node.
⚫In a tree data structure, the leaf nodes are also called
as External Nodes.
⚫ Leaf node is also called as 'Terminal' node.
Tree Terminology
⚫7. Internal Nodes
⚫In a tree data structure, the node which has atleast one child is
called as INTERNAL Node.
⚫Nodes other than leaf nodes are called as Internal Nodes
⚫Internal nodes are also called as 'Non-Terminal' nodes.
Tree Terminology
⚫8. Degree
⚫In a tree data structure, the total number of children of
a node is called as DEGREE of that Node.
⚫The highest degree of a node among all the nodes in a
tree is called as 'Degree of Tree'
Tree Terminology
⚫9. Level
⚫In a tree data structure, the root node is said to be at Level
0 and the children of root node are at Level 1 and the
children of the nodes which are at Level 1 will be at Level
2 and so on...
Tree Terminology
⚫10. Height
⚫ In a tree data structure, the total number of edges from leaf
node to a particular node in the longest path is called
as HEIGHT of that Node.
⚫ Height of the root node is said to be height of the tree.
⚫ In a tree, height of all leaf nodes is '0'.
Tree Terminology
⚫ 11. Depth
⚫ In a tree data structure, the total number of egdes from root node
to a particular node is called as DEPTH of that Node.
⚫ In a tree, the total number of edges from root node to a leaf node
in the longest path is said to be Depth of the tree.
⚫ In simple words, the highest depth of any leaf node in a tree is
said to be depth of that tree.
⚫ In a tree, depth of the root node is '0'.
Tree Terminology
⚫12. Path
⚫ In a tree data structure, the sequence of Nodes and Edges
from one node to another node is called as PATH between
that two Nodes.
⚫ Length of a Path is total number of nodes in that path.
⚫ In below example the path A - B - E - J has length 4.
Tree Terminology
⚫13. Sub Tree
⚫In a tree data structure, each child from a node forms a
subtree recursively.
⚫Every child node will form a subtree on its parent node.
Binary Tree
⚫A binary tree is a special
type of tree data structure in
which every node can have
a maximum of 2 children.
⚫ One is known as a left child
and the other is known as
right child.
⚫In a binary tree, every node
can have either 0 children or
1 child or 2 children but not
more than 2 children.
Types of Binary Tree
⚫1. Strictly Binary Tree:
⚫A binary tree in which every node has either two or
zero number of children is called Strictly Binary Tree
⚫Strictly binary tree is also called as Full Binary
Tree or Proper Binary Tree or 2-Tree
Types of Binary Tree
⚫2. Complete Binary Tree
⚫A binary tree in which every internal node has exactly two
children and all leaf nodes are at same level is called
Complete Binary Tree.
⚫Complete binary tree is also called as Perfect Binary Tree
Types of Binary Tree
⚫3. Extended Binary Tree
⚫The full binary tree obtained by adding dummy nodes
to a binary tree is called as Extended Binary Tree.
Binary Tree Representations
⚫A binary tree data structure is represented using two
methods. Those methods are as follows...
⚫1.Array Representation
⚫2.Linked List Representation
Array Representation of Binary Tree
⚫In array representation of a binary tree, use one-
dimensional array (1-D Array) to represent a binary tree.