Professional Documents
Culture Documents
Lecture 01
Lecture 01
Fall 2023
COURSE OUTLINE
Basic definitions
The basic idea of graphs were first introduced in the 18th century by Swiss
His attempts & eventual solution to the famous Konigsberg bridge problem depicted
Euler, recognizing that the relevant constraints were the four bodies of land & the
seven bridges, drew out the first known visual representation of a modern graph.
Lecture 01
Graph
Informally a graph is a set of nodes joined by a set of lines or arrows.
• A graph is a non-empty set of points called vertices and a set of line
segments joining pairs of vertices called edges.
• Formally, a graph G consists of two finite sets:
(i) A set V=V(G) of vertices (or points or nodes)
(ii) A set E=E(G) of edges; where each edge corresponds to a pair of
vertices.
Lecture 01
Directed Graph/digraph
A directed graph is graph, i.e., a set of objects (called vertices or nodes) that
are connected together, where all the edges are directed from one vertex to
another. A directed graph is sometimes called a digraph or a directed network.
Undirected Graph/digraph
An undirected graph is graph, i.e., a set of objects (called vertices or nodes) that are
connected together, where all the edges are bidirectional. An undirected graph is
sometimes called an undirected network. In contrast, a graph where the edges point in
a direction is called a directed graph.
Simple Graph
A simple graph is a graph that does not have any loops or parallel edges. In a
simple
graph, an edge with endpoints v and w is denoted {v, w }.
complete graph
A complete graph on n vertices, denoted Kn, is a simple graph with n
vertices and exactly one edge connecting each pair of distinct vertices.
Lecture 01
Graph Representations
memory of computer.
To represent a graph, we just need the set of vertices, and for each vertex the
a weighted graph, then the weight will be associated with each edge.
There are different ways to optimally represent a graph, depending on the density of
1. Adjacency Matrix
•It is used to represent which nodes are adjacent to each other. i.e. is there any edge
connecting nodes to a graph.
•In this representation, we have to construct a nXn matrix A. If there is any edge from a
vertex i to vertex j, then the corresponding element of A, ai,j = 1, otherwise ai,j= 0.
•If there is any weighted graph then instead of 1s and 0s, we can store the weight of the
edge.
Lecture 01
Cons: It takes a lot of space and time to visit all the neighbors of a
vertex, we have to traverse all the vertices in the graph, which takes
quite some time.
Lecture 01
2. Incidence Matrix
It means if a graph has 4 vertices and 6 edges, then it can be represented using a matrix
of 4X6 class. In this matrix, columns represent edges and rows represent vertices.
1 is used to represent row edge which is connected as outgoing edge to column vertex.
-1 is used to represent row edge which is connected as incoming edge to column vertex.
Lecture 01
Lecture 01
3. Adjacency List
In this representation, for each vertex in the graph, we maintain the list of its neighbors.
It means, every vertex of the graph contains list of its adjacent vertices.
We have an array of vertices which is indexed by the vertex number and for each vertex
Pros:
Cons:
•The adjacency list allows testing whether two vertices are adjacent to each other
but it is slower to support this operation.
Lecture 01
Assignment
1. Ten people are seated around a circular table. Each person shakes hands with
everyone at the table except the person sitting directly across the table. Draw a
graph that models this situation.
2. Six fraternity brothers (Adam, Bert, Chuck, Doug, Ernie, and Filthy Frank) need to
pair off as roommates for the upcoming school year. Each person has compiled a list
of the people with whom he would be willing to share a room.
Adam’s list: Doug Bert’s list: Adam, Ernie
Chuck’s list: Doug, Ernie Doug’s list: Chuck
Ernie’s list: Ernie Frank’s list: Adam, Bert