Data Structures (DS)
SU # BTIT13302
Unit-3
Non-Linear Data Structure
Tree Part-1
Basic Notations of Graph Theory
1 2 x1 1 1
x3 x1 x3
v1 v2
x2 x2
(a) 2 3 2 3
x4 x5 x4 x5
4 4
1 2 5
(d) (f)
v1 v2
(b)
x1 1 x3 x1 1 x3
x2 x2
2 3 2 3
1 2
v1 v2 x4 x5 x4
4 x5
4
(c)
(e) (g)
#BTIT13302 (DS) Unit 3 – Non-Linear Data Structure (Tree Part-1) 2
Basic Notations of Graph Theory
Consider diagrams shown in above figure
Every diagrams represent Graphs
Every diagram consists of a set of points which are shown by dots or circles and are sometimes
labelled V1, V2, V3… OR 1,2,3…
In every diagrams, certain pairs of such points are connected by lines or arcs
Note that every arc start at one point and ends at another point
#BTIT13302 (DS) Unit 3 – Non-Linear Data Structure (Tree Part-1) 3
Basic Notations of Graph Theory
Graph
A graph G consist of a non-empty set V called the set of nodes (points, vertices) of the graph, a set E which is
the set of edges and a mapping from the set of edges E to a set of pairs of elements of V
It is also convenient to write a graph as G=(V,E)
Notice that definition of graph implies that to every edge of a graph G, we can associate a pair of nodes of the
graph. If an edge X Є E is thus associated with a pair of nodes (u,v) where u, v Є V then we says that edge x
connect u and v
Adjacent Nodes
Any two nodes which are connected by an edge in a graph are called adjacent nodes
#BTIT13302 (DS) Unit 3 – Non-Linear Data Structure (Tree Part-1) 4
Graph – Concepts & Definitions
Directed & Undirected Edge
In a graph G=(V,E) an edge which is directed from one end to another end is called a directed edge, while the
edge which has no specific direction is called undirected edge
Directed graph (Digraph)
A graph in which every edge is directed is called directed graph or digraph e.g. b,e & g are directed graphs
Undirected graph
A graph in which every edge is undirected is called undirected graph e.g. c & f are undirected graphs
Mixed Graph
If some of the edges are directed and some are undirected in graph then the graph is called mixed graph e.g. d
is mixed graph
#BTIT13302 (DS) Unit 3 – Non-Linear Data Structure (Tree Part-1) 5
Graph – Concepts & Definitions
2
Loop (Sling)
An edge of a graph which joins a node to itself is called a loop (sling).
The direction of a loop is of no significance so it can be considered either a 2
2
directed or an undirected. 2
Distinct Edges 1
1
3
In case of directed edges, two possible edges between any pair of nodes
which are opposite in direction are considered Distinct. 1 1
4
Parallel Edges
In some directed as well as undirected graphs, we may have certain pairs of
nodes joined by more than one edges, such edges are called Parallel edges.
#BTIT13302 (DS) Unit 3 – Non-Linear Data Structure (Tree Part-1) 6
Graph – Concepts & Definitions
Multigraph
Any graph which contains some parallel edges is called multigraph
If there is no more then one edge between a pair of nodes then such a graph is called Simple graph
Weighted Graph
A graph in which weights are assigned to every edge is called weighted graph
Isolated Node
In a graph a node which is not adjacent to any other node is called isolated node
Null Graph
A graph containing only isolated nodes are called null graph. In other words set of edges in null graph is empty
#BTIT13302 (DS) Unit 3 – Non-Linear Data Structure (Tree Part-1) 7
Graph – Concepts & Definitions
For a given graph there is no unique diagram which represents the graph.
1 2
We can obtain a variety of diagrams by locating the nodes in an arbitrary
numbers.
Following both diagrams represents same Graph. 4 3
Indegree of Node
The no of edges which have V as their terminal node is call as indegree of node V. 1
Outdegree of Node
The no of edges which have V as their initial node is call as outdegree of node V. 4
Total degree of Node 2 3
Sum of indegree and outdegree of node V is called its Total Degree or Degree of
vertex.
#BTIT13302 (DS) Unit 3 – Non-Linear Data Structure (Tree Part-1) 8
Path of the Graph
Some of the path from 2 to 4
1 2 P1 = ((2,4))
P2 = ((2,3), (3,4))
P3 = ((2,1), (1,4))
P4 = ((2,3), (3,1), (1,4))
4 3
P5 = ((2,3), (3,2), (2,4))
P6 = ((2,2), (2,4))
Let G=(V, E) be a simple digraph such that the terminal node of any edge in the sequence is the
initial node of the edge, if any appearing next in the sequence defined as path of the graph.
Length of Path
The number of edges appearing in the sequence of the path is called length of path.
#BTIT13302 (DS) Unit 3 – Non-Linear Data Structure (Tree Part-1) 9
Graph – Concepts & Definitions
Simple Path (Edge Simple)
A path in a diagraph in which the edges are distinct is called simple path or edge simple
Path P5, P6 are Simple Paths
Elementary Path (Node Simple)
A path in which all the nodes through which it traverses are distinct is called elementary path
Path P1, P2, P3 & P4 are elementary Path
Path P5, P6 are Simple but not Elementary
Cycle (Circuit)
A path which originates and ends in the same node is called cycle (circuit)
E.g. C1 = ((2,2)), C2 = ((1,2),(2,1)), C3 = ((2,3), (3,1), (1,2)
Acyclic Diagraph
A simple diagraph which does not have any cycle is called Acyclic Diagraph.
#BTIT13302 (DS) Unit 3 – Non-Linear Data Structure (Tree Part-1) 10
Tree– Concepts & Definitions
Directed Tree
A directed tree is an acyclic digraph which has one node called its root with in degree 0, while all other nodes
have in degree 1.
Every directed tree must have at least one node.
An isolated node is also a directed tree.
𝑽𝟎 Root Node
𝑽𝟏 𝑽𝟕
𝑽𝟐 𝑽𝟑 𝑽𝟒 𝑽𝟖 𝑽𝟗
Terminal or
𝑽𝟓 𝑽𝟔 𝑽𝟏𝟎
Leaf Node
#BTIT13302 (DS) Unit 3 – Non-Linear Data Structure (Tree Part-1) 11
Tree– Concepts & Definitions
𝑽𝟓 𝑽𝟔 𝑽𝟏𝟎 𝑽𝟎
𝑽𝟎
𝑽𝟐 𝑽𝟑 𝑽𝟒 𝑽𝟖 𝑽𝟗 𝑽𝟏 𝑽𝟕
𝑽𝟕 𝑽𝟏
𝑽𝟐 𝑽𝟑 𝑽𝟒 𝑽𝟖 𝑽𝟗 𝑽𝟖 𝑽𝟗 𝑽𝟐 𝑽𝟑 𝑽𝟒
𝑽𝟏 𝑽𝟕
𝑽𝟓 𝑽𝟔 𝑽𝟏𝟎 𝑽𝟏𝟎 𝑽𝟓 𝑽𝟔
𝑽𝟎
(a) (b) (c)
#BTIT13302 (DS) Unit 3 – Non-Linear Data Structure (Tree Part-1) 12
Tree– Concepts & Definitions
Terminal Node (Leaf Node)
In a directed tree, any node which has out degree 0 is called terminal node or leaf node.
Level of Node
The level of any node is the length of its path from the root.
Ordered Tree
In a directed tree an ordering of the nodes at each level is prescribed then such a tree is called ordered tree.
The diagrams (b) and (c) represents same directed tree but different ordered tree.
Forest
If we delete the root and its edges connecting the nodes at level 1, we obtain a set of disjoint tree. A set of
disjoint tree is a forest.
#BTIT13302 (DS) Unit 3 – Non-Linear Data Structure (Tree Part-1) 13
Representation of Directed Tree
Other way to represent directed tree are
𝑽𝟎
Venn Diagram
Nesting of Parenthesis
𝑽𝟏 𝑽𝟕
Like table content of Book
Level Format
𝑽𝟐 𝑽𝟑 𝑽𝟒 𝑽𝟖 𝑽𝟗
𝑽𝟓 𝑽𝟔 𝑽𝟏𝟎
#BTIT13302 (DS) Unit 3 – Non-Linear Data Structure (Tree Part-1) 14
Venn Diagram
𝑽𝟎
V0
𝑽𝟕
𝑽𝟏
V1 V7
V2 V9
𝑽𝟐 𝑽𝟑 𝑽𝟒 𝑽𝟖 𝑽𝟗 V3
V5 V10
𝑽𝟓 𝑽𝟔 𝑽𝟏𝟎 V4
V6
V8
#BTIT13302 (DS) Unit 3 – Non-Linear Data Structure (Tree Part-1) 15
Nesting of Parenthesis
Like a table Content of Book
𝑽𝟎 V0
V1
𝑽𝟏 𝑽𝟕 V2
V5
V6
𝑽𝟐 𝑽𝟑 𝑽𝟒 𝑽𝟖 𝑽𝟗 V3
V4
V7
𝑽𝟓 𝑽𝟔 𝑽𝟏𝟎
V8
V9
V10
(V0 (V1 (V2 (V5) (V6) ) (V3) (V4) ) (V7 (V8) (V9 (V10) ) ) )
Nesting of Parenthesis
#BTIT13302 (DS) Unit 3 – Non-Linear Data Structure (Tree Part-1) 16
Level Format
𝑽𝟎
1 V0
2 V1
𝑽𝟏 𝑽𝟕 3 V2
4 V5
4 V6
𝑽𝟐 𝑽𝟑 𝑽𝟒 𝑽𝟖 𝑽𝟗
3 V3
3 V4
𝑽𝟓 𝑽𝟔 𝑽𝟏𝟎
2 V7
3 V8
3 V9
4 V10
#BTIT13302 (DS) Unit 3 – Non-Linear Data Structure (Tree Part-1) 17
Tree– Concepts & Definitions
The node that is reachable from a node is called descendant of a node.
The nodes which are reachable from a node through a single edge are called the children of
node.
M-ary Tree
If in a directed tree the out degree of every node is less than or equal to m then tree is called an m-ary tree.
Full or Complete M-ary Tree
If the out degree of each and every node is exactly equal to m or 0 and their number of nodes at level i is m(i-
1) then the tree is called a full or complete m-ary tree.
Positional M-ary Tree
If we consider m-ary trees in which the m children of any node are assumed to have m distinct positions, if
such positions are taken into account, then tree is called positional m-ary tree.
#BTIT13302 (DS) Unit 3 – Non-Linear Data Structure (Tree Part-1) 18
Tree– Concepts & Definitions
Height of the tree
The height of a tree is the length of the path from the root to the deepest node in the tree.
Binary Tree
If in a directed tree the out degree of every node is less than or equal to 2 then tree is called binary tree.
Strictly Binary Tree
A strictly binary tree (sometimes proper binary tree or 2-tree or full binary tree) is a tree in which every node
other than the leaves has two children.
Complete Binary Tree
If the out degree of each and every node is exactly equal to 2 or 0 and their number of nodes at level i is 2(i-1)
then the tree is called a full or complete binary tree.
#BTIT13302 (DS) Unit 3 – Non-Linear Data Structure (Tree Part-1) 19
Tree– Concepts & Definitions
Sibling
Siblings are nodes that share the same parent node
Positional m-ary Tree
If we consider m-ary trees in which the m children of any node are assumed to have m distinct positions, if
such positions are taken into account, then tree is called positional m-ary tree
0 1 0 1 0 1
00 01 11 00 01 11 11 00 01 10
(a) Binary tree (b) Complete binary tree (c)
#BTIT13302 (DS) Unit 3 – Non-Linear Data Structure (Tree Part-1) 20
Full Binary Tree – Strict Binary Tree
FULL BINARY TREE- A full binary tree is a binary tree in which every node other than the leaves
has two children. This is also called strictly binary tree.
#BTIT13302 (DS) Unit 3 – Non-Linear Data Structure (Tree Part-1) 21
Complete Binary Tree
COMPLETE BINARY TREE- Now, the definition of complete binary tree is quite ambiguous, it
states :- A complete binary tree is a binary tree in which every level, except possibly the last, is
completely filled, and all nodes are as far left as possible.
#BTIT13302 (DS) Unit 3 – Non-Linear Data Structure (Tree Part-1) 22
Perfect Binary Tree
Every node except the leaf nodes have two children and every level (last level too) is completely
filled.
#BTIT13302 (DS) Unit 3 – Non-Linear Data Structure (Tree Part-1) 23
Convert any tree to Binary Tree
Every Tree can be Uniquely represented by binary tree
Let’s have an example to convert given tree into binary tree
a
a
a
b
b f b f
c f
g
d
c d g j k c d g j k
h j
e
e h i e h i i k
#BTIT13302 (DS) Unit 3 – Non-Linear Data Structure (Tree Part-1) 24
Convert Forest to Binary Tree
a g
a
b c
h i
b g
d e f
j k l
d c h
a g
e j i
b c h i
f k l
d e f j k l
#BTIT13302 (DS) Unit 3 – Non-Linear Data Structure (Tree Part-1) 25
Thank You