0% found this document useful (0 votes)
6 views53 pages

Graphs

The document provides a comprehensive overview of graph theory, covering key concepts such as graph terminology, types of graphs, representations, search methods, and algorithms. It discusses properties of graphs, including vertex degree and connected components, as well as applications in communication networks and pathfinding. Additionally, it details various graph representations like adjacency matrices and lists, along with their complexities.

Uploaded by

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

Graphs

The document provides a comprehensive overview of graph theory, covering key concepts such as graph terminology, types of graphs, representations, search methods, and algorithms. It discusses properties of graphs, including vertex degree and connected components, as well as applications in communication networks and pathfinding. Additionally, it details various graph representations like adjacency matrices and lists, along with their complexities.

Uploaded by

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

GRAPHS

Chapter covers the following topics


 Graph terminology: vertex, edge, adjacent, incident, degree, cycle, path,
connected component, spanning tree
 Types of graphs: undirected, directed, weighted
 Graph representations: adjacency matrix, array adjacency lists, linked adjacency
lists
 Graph search methods: breath-first, depth-first search
 Algorithms:
– to find a path in a graph
– to find the connected components of an undirected graph
– to find a spanning tree of a connected undirected graph
Graphs
 G = (V,E)
 V is the vertex set.
 Vertices are also called nodes and points.
 E is the edge set.
 Each edge connects two vertices.
 Edges are also called arcs and lines.
 Vertices i and j are adjacent vertices iff (i, j) is an edge in the graph
 The edge (i, j) is incident on the vertices i and j
Graphs
 Undirected edge has no orientation (no arrow head)
 Directed edge has an orientation (has an arrow head)
 Undirected graph – all edges are undirected
 Directed graph – all edges are directed

u v u v
undirected edge directed edge
Undirected Graph
Directed Graph (Digraph)
Directed Graph
 It is useful to have a slightly refined notion of adjacency
and incidence
 Directed edge (i, j) is incident to vertex j and incident from
vertex i
 Vertex i is adjacent to vertex j, and vertex j is adjacent from
vertex I
Applications – Communication Network

vertex = router
edge = communication link
Applications - Driving Distance/Time Map

vertex = city
edge weight = driving distance/time
Applications - Street Map

• Streets are one- or two-way.


• A single directed edge denotes a one-way street
• A two directed edge denotes a two-way street
Path
Asequence of vertices P = i1, i2, …, ik is an i1 to ik path in the graph
G=(V, E) iff the edge (ij, ij+1) is in E for every j, 1≤ j < k

A simple path is a path in which all vertices, except possibly in the


first and last, are different
Length (Cost) of a Path
 Each edge in a graph may have an associated length (or cost). The length of a
path is the sum of the lengths of the edges on the path
 What is the length of the path 5, 9, 11, 10?
Spanning Tree
 Let G = (V, E) be an undirected graph
 A connected undirected graph that contains no cycles is a tree
 A subgraph of G that contains all the vertices of G and is a tree is a spanning
tree
 A spanning tree has n vertices and n-1 edges
Spanning Trees

• What are the possible spanning trees for this tree?


• What is the cost of each spanning tree?
Minimum-Cost Spanning Tree (MCST)
 The spanning tree that costs the least is called the
minimum-cost spanning tree

 Which tree is the MCST of the example tree given in the


previous page? What is its cost?
Graph Properties
Number of Edges – Undirected Graph
 Each edge is of the form (u,v), u != v.
 The no. of possible pairs in an n vertex graph is n*(n-1)
 Since edge (u,v) is the same as edge (v,u), the number of edges in an
undirected graph is n*(n-1)/2
 Thus, the number of edges in an undirected graph
is  n*(n-1)/2
Number of Edges - Directed Graph
 Each edge is of the form (u,v), u != v.
 The no. of possible pairs in an n vertex graph is n*(n-1)
 Since edge (u,v) is not the same as edge (v,u), the
number of edges in a directed graph is n*(n-1)
 Thus, the number of edges in a directed graph is  n*(n-
1)
Vertex Degree

• The degree of vertex i is the no. of edges incident on


vertex i.
e.g., degree(2) = 2, degree(5) = 3, degree(3) = 1
Sum of Vertex Degrees

Sum of degrees = 2e (where e is the number of edges)


In-Degree of a Vertex

• In-degree of vertex i is the number of edges incident to i


(i.e., the number of incoming edges).
e.g., indegree(2) = 1, indegree(8) = 0
Out-Degree of a Vertex

• Out-degree of vertex i is the number of edges incident from i


(i.e., the number of outgoing edges).
• e.g., outdegree(2) = 1, outdegree(8) = 2
Complete Undirected Graphs
 A complete undirected graph has n(n-1)/2 edges (i.e., all possible edges) and is denoted
by Kn

 What would a complete undirected graph look like when


n=5? When n=6?
Sample Graph Problems
 PathFinding Problems
 Connectedness Problems
 Spanning Tree Problems
Path Finding
 Path between 1 and 8

• What is a possible path & its


length?
• A path is 1, 2, 5, 9, 8 and its
length is 20.
Another Path Between 1 and 8

• Path length is 28.


• What is the path?
Example of No Path

No path between 2 and 9.


Connected Graph
 Let G = (V, E) be an undirected graph
 G is connected iff there is a path between every pair of vertices in G
Example of Not Connected
Example of Connected Graph
Connected Component
A connected component is a maximal subgraph that is connected.

A connected graph has exactly 1 component.


Connected Components
Not a Component
Communication Network

Each edge is a link that can be constructed


(i.e., a feasible link)
Communication Network Problems
 Is the network connected?
– Can we communicate between every pair of cities?

 Find the components.

 Want to construct the smallest number of


feasible links so that resulting network is connected.
Cycles and Connectedness

• Removal of an edge that is on a cycle does not


affect connectedness.
• Which edges can be removed without affecting the
connectedness?
Cycles and Connectedness

Connected subgraph with all vertices and


minimum number of edges has no cycles.
Representation of Unweighted Graphs
 The most frequently used representations for unweighted graphs are
– Adjacency Matrix
– Linked adjacency lists
– Array adjacency lists
Adjacency Matrix
 0/1 n x n matrix, where n = # of vertices
 A(i, j) = 1 iff (i, j) is an edge.
Adjacency Matrix Properties
 Diagonal entries are zero.
 Adjacency matrix of an undirected graph is symmetric (A(i,j) = A(j,i) for all i and
j).
Adjacency Matrix for Digraph (Directed Graph)
 Diagonal entries are zero.
 Adjacency matrix of a digraph need not be symmetric.
Adjacency Matrix Complexity
 n2 bytes of space is needed to represent adjacency matrix
 For an undirected graph, we may store only lower or upper triangle (exclude
diagonal): (n-1)n/2 bytes.

 Requires O(n) time to find vertex degree and/or vertices adjacent to a given
vertex.
Adjacency Lists
 Adjacency list for vertex i is a linear list of vertices adjacent from vertex i.
 An array of n adjacency lists for each vertex of the graph.
Linked Adjacency Lists
 Each adjacency list is a chain.
Array length = n.
# of chain nodes = 2e (undirected graph)
# of chain nodes = e (digraph)
Array Adjacency Lists
 Each adjacency list is an array list.
Array length = n.
# of chain nodes = 2e (undirected graph)
# of chain nodes = e (digraph)
(b) Linked adjacency list
(a) adjacency matrix

(c) Array adjacency list

You might also like