06_Tree_Part01.pptx
06_Tree_Part01.pptx
GTU # 3130702
Unit-3
Non-Linear Data
Structure (Tree Part-1)
Non Linear Data Structures – Tree & Graph
Far we have been concerned with Linear List.
Relationships in such data structures expressed are One Dimensional.
Now, Introduce Data Structures which are Non – Linear, Expressing more complex
relationships.
Non Linear Data Structures – Graph & Tree ( Sub Set of Graph )
Tree is a Restricted Graph – Every Tree is a Graph but Every Graph is not a Tree
Basic Notations of Graph Theory
1 2 x1 1 x3 1
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)
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
1
1 x x
x x
1 3
1 3 x
2 x 3 2 3
1 2 2 2
1 2
4 x x x
v v x 4
v v 5 5 4 5
1 (a 2 4
1 (b 2 ( (
) ) d f
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 1
1
2 3
x
1 2 u v 2 3
4
v v v v 4 5
1 2 1 2
Basic Notations of Graph Theory
Graph
G1=(V,E) , V = { v1,v2 } , E={Φ}
G2=(V,E) , V = { v1,v2 } , E = { e1 } , e1 = <v1,v2>
G3=(V,E) , V = { A,B,C,D } , E = { <A,B> , <A,C> , (B,C) , <A,D> , <D,C> }
G4=(V,E) , V = { A,B,C,D,E } , E = { (A,B) , (B,C) , (A,C) } or E = {e1,e2,e3}
A
B e1 e3
e1 e3
e2 B e2 C
A C
1 2 e1
1 2
v v e4 D e5 D
v v E
1 G1 2 1 2
G2 G3 G4
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
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
Graph – Concepts & Definitions
In a graph G=(V,E) an edge which is directed from one end to another end, associated with pair
of node (u,v)
u v
v v
1 2
Intial Node
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.
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
4
2 2 2 2 2
2
2
1 3 1 3 1 3 1 3 3
1 3
4 5 1
4 4 4 4
Graph – Concepts & Definitions
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
1
1
2 3
2 3
4
5 4
5
Graph – Concepts & Definitions
For a given graph there is no unique diagram which represents the
graph. 1 2
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.
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.
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
Tree– Concepts & Definitions
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.
Representation of Directed Tree
Other way to represent directed tree are
Venn Diagram
Nesting of Parenthesis
Like table content of Book
Level Format
Venn Diagram
V0
V1 V7
V2 V9
V3
V5 V10
V4
V6
V8
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
Level Format
1 V0
2 V1
3 V2
4 V5
4 V6
3 V3
3 V4
2 V7
3 V8
3 V9
4 V10
Tree– Concepts
Root Node [1]
In-degree : 0 Out-degree : 0 , 1 , ……. , m 1
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.
0 1 0 1 0 1
00 01 11 00 01 11 11 00 01 10
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
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
Data Structures (DS)
GTU # 3130702
Thank
You