GRAPH THEORY BASIC TERMINOLOGY PART Ics441/lectures/Graph Theory Intro.pdf · Formal Definition:...

57
GRAPH THEORY BASIC TERMINOLOGY CS 441 4/10/2017 1

Transcript of GRAPH THEORY BASIC TERMINOLOGY PART Ics441/lectures/Graph Theory Intro.pdf · Formal Definition:...

Page 1: GRAPH THEORY BASIC TERMINOLOGY PART Ics441/lectures/Graph Theory Intro.pdf · Formal Definition: •A graph, G=(V, E), consists of two sets: •a finite non empty set of vertices(V),

GRAPH THEORYBASIC TERMINOLOGY

CS 441

4/10/2017 1

Page 2: GRAPH THEORY BASIC TERMINOLOGY PART Ics441/lectures/Graph Theory Intro.pdf · Formal Definition: •A graph, G=(V, E), consists of two sets: •a finite non empty set of vertices(V),

Basic Graph Definitions

• 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. Some Examples,• Car navigation system

• Efficient database

• Build a bot to retrieve info off WWW

• Representing computational models

4/10/2017 2

Page 3: GRAPH THEORY BASIC TERMINOLOGY PART Ics441/lectures/Graph Theory Intro.pdf · Formal Definition: •A graph, G=(V, E), consists of two sets: •a finite non empty set of vertices(V),

4/10/20173

Applications

electronic circuits

networks (roads, flights,

communications)

CS16

LAX

JFK

LAX

DFW

STL

HNL

FTL

Page 4: GRAPH THEORY BASIC TERMINOLOGY PART Ics441/lectures/Graph Theory Intro.pdf · Formal Definition: •A graph, G=(V, E), consists of two sets: •a finite non empty set of vertices(V),

Formal Definition:

• A graph, G=(V, E), consists of two sets:• a finite non empty set of vertices(V), and• a finite set (E) of unordered pairs of distinct vertices called

edges.• V(G) and E(G) represent the sets of vertices and edges of G,

respectively.

• Vertex: In graph theory, a vertex (plural vertices) or node or points is the fundamental unit out of which graphs are formed.

• Edge or Arcs or Links: Gives the relationship between the Two vertices.

4/10/2017 4

Page 5: GRAPH THEORY BASIC TERMINOLOGY PART Ics441/lectures/Graph Theory Intro.pdf · Formal Definition: •A graph, G=(V, E), consists of two sets: •a finite non empty set of vertices(V),

4/10/2017 5

Examples for Graph

0

1 2

3

0

1

2

0

1 2

3 4 5 6G1

G2

G3

V(G1)={0,1,2,3} E(G1)={(0,1),(0,2),(0,3),(1,2),(1,3),(2,3)}

V(G2)={0,1,2,3,4,5,6} E(G2)={(0,1),(0,2),(1,3),(1,4),(2,5),(2,6)}

V(G3)={0,1,2} E(G3)={<0,1>,<1,0>,<1,2>}

Page 6: GRAPH THEORY BASIC TERMINOLOGY PART Ics441/lectures/Graph Theory Intro.pdf · Formal Definition: •A graph, G=(V, E), consists of two sets: •a finite non empty set of vertices(V),

Graph Terminology

• Two vertices joined by an edge are called the end vertices or endpoints of the edge.

• If an edge is directed its first endpoint is called the origin and the other is called the destination.

• Two vertices are said to be adjacent if they are endpoints of the same edge.

4/10/2017 6

Page 7: GRAPH THEORY BASIC TERMINOLOGY PART Ics441/lectures/Graph Theory Intro.pdf · Formal Definition: •A graph, G=(V, E), consists of two sets: •a finite non empty set of vertices(V),

Graph Terminology

4/10/2017 7

A

E

D

C

B

F

a

c

b

d

e

f

g

h

ij

Page 8: GRAPH THEORY BASIC TERMINOLOGY PART Ics441/lectures/Graph Theory Intro.pdf · Formal Definition: •A graph, G=(V, E), consists of two sets: •a finite non empty set of vertices(V),

Graph Terminology

4/10/2017 8

A

E

D

C

B

F

a

c

b

d

e

f

g

h

ij

Vertices A and Bare endpoints of edge a

Page 9: GRAPH THEORY BASIC TERMINOLOGY PART Ics441/lectures/Graph Theory Intro.pdf · Formal Definition: •A graph, G=(V, E), consists of two sets: •a finite non empty set of vertices(V),

Graph Terminology

4/10/2017 9

A

E

D

C

B

F

a

c

b

d

e

f

g

h

ij

Vertex A is theorigin of edge a

Page 10: GRAPH THEORY BASIC TERMINOLOGY PART Ics441/lectures/Graph Theory Intro.pdf · Formal Definition: •A graph, G=(V, E), consists of two sets: •a finite non empty set of vertices(V),

Graph Terminology

4/10/2017 10

A

E

D

C

B

F

a

c

b

d

e

f

g

h

ij

Vertex B is thedestination of edge a

Page 11: GRAPH THEORY BASIC TERMINOLOGY PART Ics441/lectures/Graph Theory Intro.pdf · Formal Definition: •A graph, G=(V, E), consists of two sets: •a finite non empty set of vertices(V),

Graph Terminology

4/10/2017 11

A

E

D

C

B

F

a

c

b

d

e

f

g

h

ij

Vertices A and B areadjacent as they areendpoints of edge a

Page 12: GRAPH THEORY BASIC TERMINOLOGY PART Ics441/lectures/Graph Theory Intro.pdf · Formal Definition: •A graph, G=(V, E), consists of two sets: •a finite non empty set of vertices(V),

Graph Terminology

• An edge is said to be incident on a vertex if the vertex is one of the edges endpoints.

• The outgoing edges of a vertex are the directed edges whose origin is that vertex.

• The incoming edges of a vertex are the directed edges whose destination is that vertex.

4/10/2017 12

Page 13: GRAPH THEORY BASIC TERMINOLOGY PART Ics441/lectures/Graph Theory Intro.pdf · Formal Definition: •A graph, G=(V, E), consists of two sets: •a finite non empty set of vertices(V),

Graph Terminology

4/10/2017 13

U

Y

X

W

V

Z

a

c

b

d

e

f

g

h

ij

Edge 'a' is incident on vertex VEdge 'h' is incident on vertex ZEdge 'g' is incident on vertex Y

Page 14: GRAPH THEORY BASIC TERMINOLOGY PART Ics441/lectures/Graph Theory Intro.pdf · Formal Definition: •A graph, G=(V, E), consists of two sets: •a finite non empty set of vertices(V),

Graph Terminology

4/10/2017 14

U

Y

X

W

V

Z

a

c

b

d

e

f

g

h

ij

The outgoing edges of vertex Ware the edges with vertex W asorigin {d, e, f}

Page 15: GRAPH THEORY BASIC TERMINOLOGY PART Ics441/lectures/Graph Theory Intro.pdf · Formal Definition: •A graph, G=(V, E), consists of two sets: •a finite non empty set of vertices(V),

Graph Terminology

4/10/2017 15

U

Y

X

W

V

Z

a

c

b

d

e

f

g

h

ij

The incoming edges of vertex Xare the edges with vertex X asdestination {b, e, g, i}

Page 16: GRAPH THEORY BASIC TERMINOLOGY PART Ics441/lectures/Graph Theory Intro.pdf · Formal Definition: •A graph, G=(V, E), consists of two sets: •a finite non empty set of vertices(V),

Adjacent, neighbors

• Two vertices are adjacent and are neighbors if they are the endpoints of an edge

• Example:• A and B are adjacent

• A and D are not adjacent

Graph Theory S Sameen Fatima 16

A B

C D

Page 17: GRAPH THEORY BASIC TERMINOLOGY PART Ics441/lectures/Graph Theory Intro.pdf · Formal Definition: •A graph, G=(V, E), consists of two sets: •a finite non empty set of vertices(V),

Degree

Degree: Number of edges incident on a node

Graph Theory S Sameen Fatima 17

A

D E F

B C

The degree of B is 2.

Page 18: GRAPH THEORY BASIC TERMINOLOGY PART Ics441/lectures/Graph Theory Intro.pdf · Formal Definition: •A graph, G=(V, E), consists of two sets: •a finite non empty set of vertices(V),

Degree (Directed Graphs)• In degree: Number of edges entering a node

• Out degree: Number of edges leaving a node

• Degree = Indegree + Outdegree

Graph Theory S Sameen Fatima 18

1 2

4 5

The in degree of 2 is 2 andthe out degree of 2 is 3.

Page 19: GRAPH THEORY BASIC TERMINOLOGY PART Ics441/lectures/Graph Theory Intro.pdf · Formal Definition: •A graph, G=(V, E), consists of two sets: •a finite non empty set of vertices(V),

Path

•A path is a sequence of vertices such that there is an edge from each vertex to its successor.

•A path is simple if each vertex is distinct.

•A circuit is a path in which the terminal vertex coincides with the initial vertex

Graph Theory S Sameen Fatima 19

1 2 3

4 5 6

Simple path: [ 1, 2, 4, 5 ]

Path: [ 1, 2, 4, 5, 4]

Circuit: [ 1, 2, 4, 5, 4, 1]

Page 20: GRAPH THEORY BASIC TERMINOLOGY PART Ics441/lectures/Graph Theory Intro.pdf · Formal Definition: •A graph, G=(V, E), consists of two sets: •a finite non empty set of vertices(V),

Cycle

•A path from a vertex to itself is called a cycle.

•A graph is called cyclic if it contains a cycle; • otherwise it is called acyclic

Graph Theory S Sameen Fatima 20

1 2 3

4 5 6

Cycle

Page 21: GRAPH THEORY BASIC TERMINOLOGY PART Ics441/lectures/Graph Theory Intro.pdf · Formal Definition: •A graph, G=(V, E), consists of two sets: •a finite non empty set of vertices(V),

Types of Graph

4/10/2017 21

Page 22: GRAPH THEORY BASIC TERMINOLOGY PART Ics441/lectures/Graph Theory Intro.pdf · Formal Definition: •A graph, G=(V, E), consists of two sets: •a finite non empty set of vertices(V),

Null graph, Trivial Graph

• A graph G=(V,E) where E=0 is said to be Null or Empty graph

• A graph with One vertex

and no edge is called as a trivial graph.

4/10/2017 22

v1

v3v2

v1

Page 23: GRAPH THEORY BASIC TERMINOLOGY PART Ics441/lectures/Graph Theory Intro.pdf · Formal Definition: •A graph, G=(V, E), consists of two sets: •a finite non empty set of vertices(V),

Connected and Disconnected

• Connected : There exists at least one path between two vertices

• Disconnected : Otherwise

• Example:• H1 and H2 are connected

• H3 is disconnected

Graph Theory S Sameen Fatima 23

c

d

a b

de

a b

c

deH1

H3H2

Page 24: GRAPH THEORY BASIC TERMINOLOGY PART Ics441/lectures/Graph Theory Intro.pdf · Formal Definition: •A graph, G=(V, E), consists of two sets: •a finite non empty set of vertices(V),

Undirected Graph

• In an undirected graph, there is no distinction between (u, v) and (v, u).

• An edge (u, v) is said to be directed from u to v if the pair (u, v) is ordered with u preceding v.

E.g. A Flight Route

• An edge (u, v) is said to be undirected if the pair (u, v) is not ordered

E.g. Road Map

4/10/2017 24

Page 25: GRAPH THEORY BASIC TERMINOLOGY PART Ics441/lectures/Graph Theory Intro.pdf · Formal Definition: •A graph, G=(V, E), consists of two sets: •a finite non empty set of vertices(V),

Undirected Graph

Here (u,v) and (v,u) both are possible.

4/10/2017 25

A

E

D

C

B

F

a

c

b

d

e

f

g

h

ij

Page 26: GRAPH THEORY BASIC TERMINOLOGY PART Ics441/lectures/Graph Theory Intro.pdf · Formal Definition: •A graph, G=(V, E), consists of two sets: •a finite non empty set of vertices(V),

Undirected Graph

• A graph whose definition makes reference to Unordered pairs of vertices as Edges is known as undirected graph.

• Thus an undirected edge (u,v) is equivalent to (v,u) where u and v are distinct vertices.

• In the case of undirected edge(u,v) in a graph, the vertices u,v are said to be adjacent or the edge(u,v) is said to be incident on vertices u,v.

4/10/2017 26

Page 27: GRAPH THEORY BASIC TERMINOLOGY PART Ics441/lectures/Graph Theory Intro.pdf · Formal Definition: •A graph, G=(V, E), consists of two sets: •a finite non empty set of vertices(V),

Complete Graph

•Complete Graph: A simple graph in which every pair of vertices are adjacent

• If no of vertices = n, then there are n(n-1) edges

Graph Theory S Sameen Fatima 27

Page 28: GRAPH THEORY BASIC TERMINOLOGY PART Ics441/lectures/Graph Theory Intro.pdf · Formal Definition: •A graph, G=(V, E), consists of two sets: •a finite non empty set of vertices(V),

Complete Graph

• In a complete graph: Every node should be connected to all other nodes.

• The above means “ Every node is adjacent to all other nodes in that graph”.

• The degree of all the vertices must be same.

• Kn = Denotes a complete with n number of vertices.

4/10/2017 28

K1 K2 K3 K4 K5

Page 29: GRAPH THEORY BASIC TERMINOLOGY PART Ics441/lectures/Graph Theory Intro.pdf · Formal Definition: •A graph, G=(V, E), consists of two sets: •a finite non empty set of vertices(V),

Complete Undirected Graph

An undirected graph with ‘n’ number of vertices is said to be complete ,iff each vertex

Number of vertices=3

Degree of Each vertices

=(n-1)

=(3-1)

=2

4/10/2017 29

v1

v2

v3

Page 30: GRAPH THEORY BASIC TERMINOLOGY PART Ics441/lectures/Graph Theory Intro.pdf · Formal Definition: •A graph, G=(V, E), consists of two sets: •a finite non empty set of vertices(V),

Complete Undirected Graph

An n vertex undirected graph with exactly (n.(n-1))/2 edges is said to be complete.

Here we have 4 number of vertices and hence

(4.(4-1))/2= (4.3)/2

=6

Hence the graph has 6 number of edges and it is a Complete Undirected graph.

4/10/2017 30

v2

v1

v4

v3

Page 31: GRAPH THEORY BASIC TERMINOLOGY PART Ics441/lectures/Graph Theory Intro.pdf · Formal Definition: •A graph, G=(V, E), consists of two sets: •a finite non empty set of vertices(V),

Directed Graph

• A directed graph is one in which every edge (u, v) has a direction, so that (u, v) is different from (v, u)

There are two possible situations that can arise in a directed graph between vertices u and v.

• i) only one of (u, v) and (v, u) is present.

• ii) both (u, v) and (v, u) are present.

4/10/2017 31

Page 32: GRAPH THEORY BASIC TERMINOLOGY PART Ics441/lectures/Graph Theory Intro.pdf · Formal Definition: •A graph, G=(V, E), consists of two sets: •a finite non empty set of vertices(V),

Directed Graph

Here (u,v) is possible where as (v,u) is not possible

In a directed edge, u is said to be adjacent to v and v is said to be adjacent from u.

The edge <u,v> is incident to both u and v.4/10/2017 32

U

Y

W

V

Z

a

c

b

d

e

f

g

h

ijU

Y

X

W

V

Z

a

c

b

d

e

f

g

h

ij

Page 33: GRAPH THEORY BASIC TERMINOLOGY PART Ics441/lectures/Graph Theory Intro.pdf · Formal Definition: •A graph, G=(V, E), consists of two sets: •a finite non empty set of vertices(V),

Directed Graph

• Directed Graphs are also called as Digraph.

• Directed graph or the digraph make reference to edges which are directed (i.e) edges which are Ordered pairs of vertices.

• The edge(uv) is referred to as <u,v> which is distinct from <v,u> where u,v are distinct vertices.

4/10/2017 33

Page 34: GRAPH THEORY BASIC TERMINOLOGY PART Ics441/lectures/Graph Theory Intro.pdf · Formal Definition: •A graph, G=(V, E), consists of two sets: •a finite non empty set of vertices(V),

Weighted Graph

Weighted graph is a graph for which each edge has an associated weight, usually given by a weight function w: E R.

Graph Theory S Sameen Fatima 34

1 2 3

4 5 6

.5

1.2

.2

.5

1.5

.3

1

4 5 6

2 32

1

35

Page 35: GRAPH THEORY BASIC TERMINOLOGY PART Ics441/lectures/Graph Theory Intro.pdf · Formal Definition: •A graph, G=(V, E), consists of two sets: •a finite non empty set of vertices(V),

Planar Graph

• Can be drawn on a plane such that no two edges intersect

Graph Theory S Sameen Fatima 35

Page 36: GRAPH THEORY BASIC TERMINOLOGY PART Ics441/lectures/Graph Theory Intro.pdf · Formal Definition: •A graph, G=(V, E), consists of two sets: •a finite non empty set of vertices(V),

Sub Graph

• A graph whose vertices and edges are subsets of another graph.

• A subgraph G’=(V’,E’) of a graph G = (V,E) such that V’ ⊆ V and E’ ⊆ E , Then G is a supergraph for G’.

(G) (G1)

Page 37: GRAPH THEORY BASIC TERMINOLOGY PART Ics441/lectures/Graph Theory Intro.pdf · Formal Definition: •A graph, G=(V, E), consists of two sets: •a finite non empty set of vertices(V),

..Sub Graph

A B

E

DC

(G)

E

DC

A

D

BA

(G1) (G2)

Page 38: GRAPH THEORY BASIC TERMINOLOGY PART Ics441/lectures/Graph Theory Intro.pdf · Formal Definition: •A graph, G=(V, E), consists of two sets: •a finite non empty set of vertices(V),

Spanning Subgraph

• A spanning subgraph is a subgraph that contains all the vertices of the original graph.

Page 39: GRAPH THEORY BASIC TERMINOLOGY PART Ics441/lectures/Graph Theory Intro.pdf · Formal Definition: •A graph, G=(V, E), consists of two sets: •a finite non empty set of vertices(V),

Induced-Subgraph

• Vertex-Induced Subgraph:• A vertex-induced subgraph is one that consists of some of the vertices of the original graph

and all of the edges that connect them in the original.

D

BA

C

E

C

ED E

B

C

D

Page 40: GRAPH THEORY BASIC TERMINOLOGY PART Ics441/lectures/Graph Theory Intro.pdf · Formal Definition: •A graph, G=(V, E), consists of two sets: •a finite non empty set of vertices(V),

Induced-Subgraph

• Edge-Induced Subgraph:• An edge-induced subgraph consists of some of the edges of the original graph and the

vertices that are at their endpoints.

A

B C

D E

F

A

ED

CB

F

D

B

Page 41: GRAPH THEORY BASIC TERMINOLOGY PART Ics441/lectures/Graph Theory Intro.pdf · Formal Definition: •A graph, G=(V, E), consists of two sets: •a finite non empty set of vertices(V),

Minimum Spanning Tree

Graph Theory S Sameen Fatima 41

Page 42: GRAPH THEORY BASIC TERMINOLOGY PART Ics441/lectures/Graph Theory Intro.pdf · Formal Definition: •A graph, G=(V, E), consists of two sets: •a finite non empty set of vertices(V),

Minimum Spanning Tree

• What is MST?

• Kruskal's Algorithm

• Prim's Algorithm

Graph Theory S Sameen Fatima 42

Page 43: GRAPH THEORY BASIC TERMINOLOGY PART Ics441/lectures/Graph Theory Intro.pdf · Formal Definition: •A graph, G=(V, E), consists of two sets: •a finite non empty set of vertices(V),

A spanning tree of a graph is just a subgraph that contains all the vertices and is a tree.

A graph may have many spanning trees.

or

or

or

Some Spanning Trees from Graph AGraph A

Spanning Trees

Graph Theory S Sameen Fatima 43

Page 44: GRAPH THEORY BASIC TERMINOLOGY PART Ics441/lectures/Graph Theory Intro.pdf · Formal Definition: •A graph, G=(V, E), consists of two sets: •a finite non empty set of vertices(V),

All 16 of its Spanning TreesComplete Graph

Graph Theory S Sameen Fatima 44

Page 45: GRAPH THEORY BASIC TERMINOLOGY PART Ics441/lectures/Graph Theory Intro.pdf · Formal Definition: •A graph, G=(V, E), consists of two sets: •a finite non empty set of vertices(V),

Minimum Spanning Trees

The Minimum Spanning Tree for a given graph is the Spanning Tree of minimum cost for that graph.

5

7

2

1

3

4

2

1

3

Complete Graph Minimum Spanning Tree

Graph Theory S Sameen Fatima 45

Page 46: GRAPH THEORY BASIC TERMINOLOGY PART Ics441/lectures/Graph Theory Intro.pdf · Formal Definition: •A graph, G=(V, E), consists of two sets: •a finite non empty set of vertices(V),

GRAPH REPRESENTATION

• Adjacency Matrix

• Incidence Matrix

• Adjacency List

Graph Theory S Sameen Fatima 46

Page 47: GRAPH THEORY BASIC TERMINOLOGY PART Ics441/lectures/Graph Theory Intro.pdf · Formal Definition: •A graph, G=(V, E), consists of two sets: •a finite non empty set of vertices(V),

Adjacency, Incidence, and Degree

• Assume ei is an edge whose endpoints are (vj,vk)

• The vertices vj and vk are said to be adjacent

• The edge ei is said to be incident upon vj

• Degree of a vertex vk is the number of edges incident upon vk . It is denoted as d(vk)

Graph Theory S Sameen Fatima 47

eivj vk

Page 48: GRAPH THEORY BASIC TERMINOLOGY PART Ics441/lectures/Graph Theory Intro.pdf · Formal Definition: •A graph, G=(V, E), consists of two sets: •a finite non empty set of vertices(V),

Adjacency Matrix

• Let G = (V, E), |V| = n and |E|=m

• The adjacency matrix of G written A(G), is the

|V| x |V| matrix in which entry ai,j is the

number of edges in G with endpoints {vi, vj}.

Graph Theory S Sameen Fatima 48

a

b

c

d

e

w

x

y z

w x y z

0 1 1 0

1 0 2 0

1 2 0 1

0 0 1 0

w

x

y

z

Page 49: GRAPH THEORY BASIC TERMINOLOGY PART Ics441/lectures/Graph Theory Intro.pdf · Formal Definition: •A graph, G=(V, E), consists of two sets: •a finite non empty set of vertices(V),

Adjacency Matrix

• Let G = (V, E), |V| = n and |E|=m

• The adjacency matrix of G written A(G), is the |V| x |V|matrix in which entry ai,j is 1 if an edge exists otherwise it is 0

Graph Theory S Sameen Fatima 49

1

5

2

4

3

1 2 3 4 5

12345

0 1 0 0 1

1 0 1 1 1

0 1 0 1 0

0 1 1 0 1

1 1 0 1 0

Page 50: GRAPH THEORY BASIC TERMINOLOGY PART Ics441/lectures/Graph Theory Intro.pdf · Formal Definition: •A graph, G=(V, E), consists of two sets: •a finite non empty set of vertices(V),

Adjacency Matrix (Weighted Graph)

• Let G = (V, E), |V| = n and |E|=m

• The adjacency matrix of G written A(G), is the |V| x |V|matrix in which entry ai,j is weight of the edge if it exists otherwise it is 0

Graph Theory S Sameen Fatima 50

1

5

2

4

3

1 2 3 4 5

12345

0 5 0 0 1

5 0 4 6 3

0 4 0 2 0

0 6 2 0 7

1 3 0 7 0

5

3

7

61

2

4

Page 51: GRAPH THEORY BASIC TERMINOLOGY PART Ics441/lectures/Graph Theory Intro.pdf · Formal Definition: •A graph, G=(V, E), consists of two sets: •a finite non empty set of vertices(V),

Incidence Matrix

• Let G = (V, E), |V| = n and |E|=m

• The incidence matrix M(G) is the |V| x |E| matrix in which entry mi,j is 1 if vi is an endpoint

of ei and otherwise is 0.

Graph Theory S Sameen Fatima 51

a

b

c

d

e

w

x

yz

a b c d e

1 1 0 0 0

1 0 1 1 0

0 1 1 1 1

0 0 0 0 1

w

x

y

z

Page 52: GRAPH THEORY BASIC TERMINOLOGY PART Ics441/lectures/Graph Theory Intro.pdf · Formal Definition: •A graph, G=(V, E), consists of two sets: •a finite non empty set of vertices(V),

Adjacency List Representation

• Adjacency-list representation

– an array of |V | elements, one for each vertex in V

– For each u V , ADJ [ u ] points to all its adjacent vertices.

Graph Theory S Sameen Fatima 52

Page 53: GRAPH THEORY BASIC TERMINOLOGY PART Ics441/lectures/Graph Theory Intro.pdf · Formal Definition: •A graph, G=(V, E), consists of two sets: •a finite non empty set of vertices(V),

Adjacency List Representation for a Digraph

Graph Theory S Sameen Fatima 53

1

5

1

22

5

44

3 3

2 5

5 3 4

4

5

5

Page 54: GRAPH THEORY BASIC TERMINOLOGY PART Ics441/lectures/Graph Theory Intro.pdf · Formal Definition: •A graph, G=(V, E), consists of two sets: •a finite non empty set of vertices(V),

Adjacency lists

• Advantage:

– Saves space for sparse graphs. Most graphs are sparse.

– Traverse all the edges that start at v, in (degree(v))

• Disadvantage:

– Check for existence of an edge (v, u) in worst case time (degree(v))

Graph Theory S Sameen Fatima 54

Page 55: GRAPH THEORY BASIC TERMINOLOGY PART Ics441/lectures/Graph Theory Intro.pdf · Formal Definition: •A graph, G=(V, E), consists of two sets: •a finite non empty set of vertices(V),

Adjacency List

• Storage

– For a directed graph the number of items are

(out-degree (v)) = | E |

So we need ( V + E )

– For undirected graph the number of items are

(degree (v)) = 2 | E |

Also ( V + E )• Easy to modify to handle weighted graphs. How?

Graph Theory S Sameen Fatima 55

v V

v V

Page 56: GRAPH THEORY BASIC TERMINOLOGY PART Ics441/lectures/Graph Theory Intro.pdf · Formal Definition: •A graph, G=(V, E), consists of two sets: •a finite non empty set of vertices(V),

Adjacency Matrix Representation

• Advantage:

– Saves space for:

• Dense graphs.

• Small unweighted graphs using 1 bit per edge.

– Check for existence of an edge in (1)

• Disadvantage:

– Traverse all the edges that start at v, in (|V|)

Graph Theory S Sameen Fatima 56

Page 57: GRAPH THEORY BASIC TERMINOLOGY PART Ics441/lectures/Graph Theory Intro.pdf · Formal Definition: •A graph, G=(V, E), consists of two sets: •a finite non empty set of vertices(V),

Adjacency Matrix Representation

• Storage

– ( | V |2) ( We usually just write, ( V 2) )

– For undirected graphs you can save storage (only 1/2(V2)) by noticing the adjacency matrix of an undirected graph is symmetric. How?

• Easy to handle weighted graphs. How?

Graph Theory S Sameen Fatima 57