0% found this document useful (0 votes)
5 views23 pages

Lecture-3

The document discusses various methods for representing graphs in computer systems, including adjacency matrices, adjacency lists, and incidence matrices, each with different memory and time complexities. It also covers concepts such as graph isomorphism, subgraphs, and operations on graphs like union, intersection, and ring sum. Additionally, it explains the properties of weighted graphs and the definitions of edge-disjoint and vertex-disjoint subgraphs.

Uploaded by

man
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
5 views23 pages

Lecture-3

The document discusses various methods for representing graphs in computer systems, including adjacency matrices, adjacency lists, and incidence matrices, each with different memory and time complexities. It also covers concepts such as graph isomorphism, subgraphs, and operations on graphs like union, intersection, and ring sum. Additionally, it explains the properties of weighted graphs and the definitions of edge-disjoint and vertex-disjoint subgraphs.

Uploaded by

man
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 23

06/15/2025

Graph Theory
Lecture 3

Dr. Ilyas Fakhir


06/15/2025
Representation of Graphs inside a Machine

• In order to classify the various computer models of graphs,


the three following principles can be distinguished:
 The natural way to represent a non-simple graph is the
Adjacency matrix. This is a square matrix of order n, M =
(mij), where mij is the number of edges having xi & xj
endvertices in G. This implementation of graph takes
memory space of order n2, where n is the number of
vertices. So any algorithm over graphs modeled after
adjacency matrix has O(n2) time complexity.

mij   1 if edge exist between vertex xi and vertex x j


0 otherwise.
06/15/2025
Representation of Graphs inside a Machine (Contd…)
 A second principle for implementing a graph is to give for
each vertex its “neighborhood”. The most classic way to
implement this principle is showing the neighbors as
adjacency list. List of neighbors N(x) for each vertex x.
The memory space need for this type of implementation
is of order n + m, n vertices and m edges. Such model is
coherent with linear processing.
 If in an algorithm the entry to the graph is done by the
edges and not directly by the vertices, as in the above
models, a third implementation principle consists of
giving a list of edges with, for each of them, its
endvertices. Such a list may be linked, which makes it
possible to modify the graph being processed. The
memory space necessary for this type of model is
minimal since it is of the order of the number of edges m
06/15/2025
Representation of Graphs inside a Machine (Contd…)
Weighted Graph

06/15/2025
• Weighted Graphs are often considered, that is graphs with
values, integer or real, positive or not, associated with the
edges.
• Formally, we have a graph G = (X, Y ) with a mapping v : E
→ R.
• When a weighted graph is a simple graph, which is often
the case, its computer model is generally a matrix, such as
the adjacency matrix, but with entries being the values of
the edges under consideration.
• The matrix M = (v(xixj)), where 1 ≤ i, j ≤ n, with mapping v
extended by stating: v(xixj) = ∞ when i ≠ j and xixj ∉ E,
v(xixj) = 0 when i = j. This matrix is symmetric.
Incidence Matrix

06/15/2025
• If the edge set of undirected graph G is E(G) = {al, a2, ... ,
ae},
• then the incidence matrix NG of G is the v x e matrix with

n 
ij 
entries nij, such1 that
if vertex xi is incident with edge a j
0 otherwise.

nij = 2 if vertex xi has self-loop


• The adjacency and incidence matrices depend on the
orderings chosen for V(G) and E(G); they are not unique,
but vary only by row and/or column permutation.
06/15/2025
Isomorphism in Graph
• The simple graphs G1 = (V1, E1) and G2 = (V2, E2) are
isomorphic if there is a bijection (a one-to-one and onto
function) f from V1 to V2 with the property that a and b are
adjacent in G1 if and only if f(a) and f(b) are adjacent in G2, for
all a and b in V1.
{a,b}∈E1⇔{f(a),f(b)}∈E2.
• Such a function f is called an isomorphism.
• In other words, G1 and G2 are isomorphic if their vertices can
be ordered in such a way that the adjacency matrices MG1 and
MG2 are identical.

7
06/15/2025
Isomorphism (Contd…)

• In other words, two graphs G1 and G2 are said to be


isomorphic (to each other) if there is a one-to-one
correspondence between their vertices and between
their edges such that the incidence relationship (that is
the adjacency of vertices) is preserved.
• Such graphs will have the same structures differing only
in the way their vertices and edges are labeled or only
in the way they are represented geometrically. For
many purposes, we regard them as essentially the
same. When G1 and G2 are isomorphic we write G1 ≡ G2 .

8
A B P Q

06/15/2025
D C S R
• Observe that both graphs have four vertices and four
edges.
• The one-to-one correspondence between the vertices are:
A↔P; B↔Q; D↔S and C↔R.
• The one-to-one correspondence between the edges are:
(A,B) ↔ (P,R); (A,D)↔(P,S); (B,C)↔(Q,R); (C,D)↔(S,Q).
• These represent one-to-one correspondence between the
edges of the two graphs which preserve the incidence
relationship, i.e., the adjacent vertices and adjacent edges
in the first graph correspond to adjacent vertices and edges 9
06/15/2025
Graph Isomorphism-Example

• EG: Prove that

is isomorphic to

• First label the vertices:


2 2
1 3 1 3
5 4
5 4
10
06/15/2025
Graph Isomorphism-Example
06/15/2025
Example
Show that the multiplicative group G consisting of three
cube roots of unity 1,ω,ω2 is isomorphic to the group G′ of
residue classes under addition of residue classes (mod3).
06/15/2025
06/15/2025
Subgraphs

• Let G and H are two graphs. They are said to be


sub graphs if the following conditions hold
 All the vertices and edges of H are in G
 Each edge of H has the same end vertices in G as
in H.
• In
other words, if H is a graph with vertex set V(H)
and the edge set E(H) and G is graph with vertex
set V(G) and the edge set E(G) then H is a
subgraph of G whenever V(H) is subset of V(G) and
E(H) is subset of E(G).

14
06/15/2025
Proper subgraph
•A subgraph H is said to be proper subgraph of G if
G has at least one vertex which is not in H.

A A
B B

C C

D D

E
15
06/15/2025
• The following results are immediate consequences of
the definition of Subgraph
 Every graph is a subgraph itself
 Every simple graph of n vertices is a subgraph of the
complete graph Kn
 If K is subgraph of H and H is subgraph of G then K is
subgraph of G
 A single vertex in a graph G is a subgraph of G
 A single edge in a graph G together with its end
vertices is a subgraph of G

16
Edge-disjoint and Vertex-disjoint

06/15/2025
subgraphs
• Let G be graph. Let K and H are two graphs of G. Then
 K and H are said to be edge-disjoint if they do not have
any common edge
 K and H are said to be vertex-disjoint if they do not have
any common edge and any common vertex.
• Notice that the edge-disjoint subgraphs may have
common vertices. Subgraphs that have no vertices in
common cannot possibly have edge in common, i.e., two
vertex-disjoint subgraphs must be edge-disjoint but the
converse is not necessarily true.

17
06/15/2025
• Example of edge-disjoint but not vertex-disjoint
subgraphs

A
C A
B

B D

E` E
E
Subgraph K Subgraph H
D
Graph G

18
06/15/2025
Operations on graphs

• Union of two graphs

 Let G1(V1, E1) and G2(V2, E2) be two graphs. Then


the graph whose vertex set is V1V2 and the edge
set E1 E2 is called the union of G1 and G2 and it
is denoted by G1  G2
G1 G2 = (V1 V2, E1 E2)

19
06/15/2025
• Intersection of two graphs
 Let G1(V1,E1) and G2(V2,E2) be two graphs. Then
the graph whose vertex set is V1∩V2 and the
edge set E1∩E2 is called the intersection of G1 and
G2 denoted by G1∩G2 is
G1∩G2 = (V1∩V2, E1∩E2), Provided V1∩V2
≠ϕ
• Ring sum
 Consider a graph whose vertex set is V1UV2 and
the edge set E1 E2, where  is the symmetric
difference of E1 and E2 then G1 G2=(V1UV2, E1
E2) is called the ring sum of G1 and G2 .
 Note: Symmetric difference means
E1E2 = (E1 – E2)U(E2 – E1)=(E1UE2) –(E1∩E2) 20
• The following consequences of the above definition of

06/15/2025
union, intersection and ring sum
 G1U G2 = G2U G1
 G1 G2 = G2 G1
 If G1 and G2 have no edge in common (edge-disjoint), then
G1∩ G2 is a null graph and G1 G2 = G1U G2
 If G1 and G2 have no vertex in common (vertex-disjoint),
then G1∩ G2 does not exist
 Sometimes, we also write G1 + G2 for G1U G2 .
 Note that G1,G2 ⊆ G1U G2 and G1∩ G2 ⊆ G1,G2.
 G – U := G[V \U, E], G – F := (V, E \F ), G + F := (V, E U F ).
If U = {u} or F = {e} then we simply write G – u, G – e
and G + e for G – U, G – F and G + F , respectively.
 The complement of G, denoted by G or GC, is defined as
the graph (V; V1V2\ E). In particular, G + G is a complete 21
06/15/2025
V2 V2
V1 V1 V6

V3

V3
V5 V4
V4 G2
G1
V1 V2 V6
V2
V1 V6 V1 V2

V5 V4 V3
V5
V4 V4
V3 V3 G1G2
G1UG2 G1∩G2
22
06/15/2025
Complement of Graph

You might also like