Unit-3: Non-Linear Data Structure

Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
You are on page 1of 23

Data Structures (DS)

GTU # 3130702

Unit-3
Non-Linear Data Structure
Tree Part-1

Dr. Pradyumansinh Jadeja


Computer Engineering Department
Darshan Institute of Engineering & Technology, Rajkot
[email protected]
+91 9879461848
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)
#3130702 (DS)  Unit 3 – Non-Linear Data Structure (Tree
Dr. Pradyumansinh U. Jadeja 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

#3130702 (DS)  Unit 3 – Non-Linear Data Structure (Tree


Dr. Pradyumansinh U. Jadeja 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

#3130702 (DS)  Unit 3 – Non-Linear Data Structure (Tree


Dr. Pradyumansinh U. Jadeja 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

#3130702 (DS)  Unit 3 – Non-Linear Data Structure (Tree


Dr. Pradyumansinh U. Jadeja 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
2
directed or an undirected.
 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.

#3130702 (DS)  Unit 3 – Non-Linear Data Structure (Tree


Dr. Pradyumansinh U. Jadeja 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

#3130702 (DS)  Unit 3 – Non-Linear Data Structure (Tree


Dr. Pradyumansinh U. Jadeja 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.

#3130702 (DS)  Unit 3 – Non-Linear Data Structure (Tree


Dr. Pradyumansinh U. Jadeja 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.

#3130702 (DS)  Unit 3 – Non-Linear Data Structure (Tree


Dr. Pradyumansinh U. Jadeja 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.

#3130702 (DS)  Unit 3 – Non-Linear Data Structure (Tree


Dr. Pradyumansinh U. Jadeja 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
Dr. Pradyumansinh U. Jadeja #3130702 (DS)  Unit 3 – Non-Linear Data Structure (Tree Part-1) 11
Tree– Concepts & Definitions

𝑽𝟓 𝑽𝟔 𝑽 𝟏𝟎 𝑽𝟎 𝑽𝟎
𝑽𝟐 𝑽𝟑 𝑽𝟒 𝑽𝟖 𝑽𝟗 𝑽𝟏 𝑽𝟕 𝑽𝟕 𝑽𝟏

𝑽𝟏 𝑽𝟕 𝑽𝟐 𝑽𝟑 𝑽𝟒 𝑽𝟖 𝑽𝟗 𝑽𝟖 𝑽𝟗 𝑽𝟐 𝑽𝟑 𝑽𝟒

𝑽𝟎 𝑽𝟓 𝑽𝟔 𝑽 𝟏𝟎 𝑽 𝟏𝟎 𝑽 𝟓 𝑽 𝟔
(a) (b) (c)

#3130702 (DS)  Unit 3 – Non-Linear Data Structure (Tree


Dr. Pradyumansinh U. Jadeja 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.

#3130702 (DS)  Unit 3 – Non-Linear Data Structure (Tree


Dr. Pradyumansinh U. Jadeja 13
Representation of Directed Tree
 Other way to represent directed tree are
 Venn Diagram
𝑽𝟎
 Nesting of Parenthesis
𝑽𝟏 𝑽𝟕
 Like table content of Book
 Level Format
𝑽𝟐 𝑽𝟑 𝑽𝟒 𝑽𝟖 𝑽𝟗

𝑽𝟓 𝑽𝟔 𝑽 𝟏𝟎

#3130702 (DS)  Unit 3 – Non-Linear Data Structure (Tree


Dr. Pradyumansinh U. Jadeja 14
Venn Diagram

𝑽𝟎
V0
𝑽𝟏 𝑽𝟕 V1 V7

V2 V9
𝑽𝟐 𝑽𝟑 𝑽𝟒 𝑽𝟖 𝑽𝟗 V3
V5 V10

𝑽𝟓 𝑽𝟔 𝑽 𝟏𝟎 V6
V4

V8

#3130702 (DS)  Unit 3 – Non-Linear Data Structure (Tree


Dr. Pradyumansinh U. Jadeja 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
#3130702 (DS)  Unit 3 – Non-Linear Data Structure (Tree
Dr. Pradyumansinh U. Jadeja 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

#3130702 (DS)  Unit 3 – Non-Linear Data Structure (Tree


Dr. Pradyumansinh U. Jadeja 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.

#3130702 (DS)  Unit 3 – Non-Linear Data Structure (Tree


Dr. Pradyumansinh U. Jadeja 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.

#3130702 (DS)  Unit 3 – Non-Linear Data Structure (Tree


Dr. Pradyumansinh U. Jadeja 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)

Dr. Pradyumansinh U. Jadeja #3130702 (DS)  Unit 3 – Non-Linear Data Structure (Tree Part-1) 20
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

#3130702 (DS)  Unit 3 – Non-Linear Data Structure (Tree


Dr. Pradyumansinh U. Jadeja 21
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

#3130702 (DS)  Unit 3 – Non-Linear Data Structure (Tree


Dr. Pradyumansinh U. Jadeja 22
Data Structures (DS)
GTU # 3130702

Thank
You

Dr. Pradyumansinh Jadeja


Computer Engineering Department
Darshan Institute of Engineering & Technology, Rajkot
[email protected]
+91 9879461848

You might also like