What is a graph Directed vs undirected graphs Trees vs graphs Terminology Degree of a Vertex Graph terminology Graph Traversal Graph representation Topics to be discussed What is a graph ID: 431288
Download Presentation The PPT/PDF document "Graphs" is the property of its rightful owner. Permission is granted to download and print the materials on this web site for personal, non-commercial use only, and to display it on your personal computer provided you do not modify the materials and that you retain all copyright notices contained in the materials. By downloading content from our website, you accept the terms of this agreement.
Slide1
GraphsSlide2
What is a graph?
Directed vs. undirected graphs
Trees vs graphsTerminology: Degree of a Vertex Graph terminologyGraph TraversalGraph representation
Topics to be discussed…Slide3
What is a graph?
A data structure that consists of a set of nodes (
vertices
) and a set of edges that relate the nodes to each other
The set of edges describes relationships among the vertices
Slide4
Formal definition of graphs
A graph
G is defined as follows:
G=(V,E)
V(G):
a finite, nonempty set of vertices
E(G): a set of edges (pairs of vertices)
backSlide5
Directed vs. undirected graphs
When the edges in a graph have no direction, the graph is called
undirectedSlide6
Directed vs. undirected graphs (cont.)
When the edges in a graph have a direction, the graph is called
directed
(or
digraph
)
E(Graph2) = {(1,3) (3,1) (5,9) (9,11) (5,7)
Warning
: if the graph is directed, the order of the vertices in each edge is important !!
backSlide7
Trees
vs
graphs
Trees are special cases of graphs
!!
backSlide8
The
degree
of a vertex is the number of edges incident to that vertex
For directed graph,
the
in-degree
of a vertex
v
is the number of edges
that have
v
as the head
the
out-degree
of a vertex
v
is the number of edges
that have
v
as the tail
if
di
is the degree of a vertex
i in a graph G with n vertices and e edges, the number of edges is
Terminology:Degree
of a VertexSlide9
0
1
2
3
4
5
6
G
1
G
2
3
2
3
3
1
1
1
1
directed graph
in-degree
out-degree
0
1
2
G
3
in:1, out: 1
in: 1, out: 2
in: 1, out: 0
0
1
2
3
3
3
3
Examples
backSlide10
Graph terminology
Adjacent nodes
: two nodes are adjacent if they are connected by an edge
Path
: a sequence of vertices that connect two nodes in a graph
Complete graph
: a graph in which every vertex is directly connected to every other vertexSlide11
Graph terminology (cont.)
What is the number of edges in a complete undirected graph with N vertices?
N * (N-1) / 2Slide12
Graph terminology (cont.)
Weighted graph
: a graph in which each edge carries a value
backSlide13
Graph Traversal
Problem
: Search for a certain node or traverse all nodes in the graph
Depth First Search
Once a possible path is found, continue the search until the end of the path
Breadth First SearchStart several paths at a time, and advance in each one step at a time
backSlide14
Graph Representations
Adjacency Matrix
Adjacency ListsSlide15
Adjacency Matrix
Let G=(V,E) be a graph with n vertices.
The
adjacency matrix
of G is a two-dimensional
n by n array, say adj_mat
If the edge (vi,
vj
) is in E(G), adj_mat[
i
][j]=1
If there is no such edge in E(G),
adj_mat
[
i
][j]=0
The adjacency matrix for an undirected graph is symmetric; the adjacency matrix for a digraph
need not be symmetric Slide16
G
1
G
2
G
4
0
1
2
3
0
1
2
1
0
2
3
4
5
6
7
symmetric
undirected: n
2
/2
directed: n
2
backSlide17
Adjacency Lists (data structures)
Each
row in adjacency matrix is represented as an adjacency list.Slide18
0
1
2
3
0
1
2
0
1
2
3
4
5
6
7
1
2
3
0
2
3
0
1
3
0
1
2
G
1
1
0
2
G
3
1
2
0
3
0
3
1
2
5
4
6
5
7
6
G
4
0
1
2
3
0
1
2
1
0
2
3
4
5
6
7
An undirected graph with
n
vertices and
e
edges ==>
n
head nodes and
2e
list nodes
backSlide19
Thank You