Top Banner
© 2015 Goodrich and Tamassia Graphs 1 Graph Terminology and Representations Presentation for use with the textbook, Algorithm Design and Applications, by M. T. Goodrich and R. Tamassia, Wiley, 2015
15

Graph Terminology and Representationsgoodrich/teach/cs260P/notes/Graph.pdf · Graph Terminology and Representations Presentation for use with the textbook, Algorithm Design and ...

May 09, 2020

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Graph Terminology and Representationsgoodrich/teach/cs260P/notes/Graph.pdf · Graph Terminology and Representations Presentation for use with the textbook, Algorithm Design and ...

© 2015 Goodrich and Tamassia Graphs 1

Graph Terminology and Representations

Presentation for use with the textbook, Algorithm Design and Applications, by M. T. Goodrich and R. Tamassia, Wiley, 2015

Page 2: Graph Terminology and Representationsgoodrich/teach/cs260P/notes/Graph.pdf · Graph Terminology and Representations Presentation for use with the textbook, Algorithm Design and ...

© 2015 Goodrich and Tamassia Graphs 2

Graphs q  A graph is a pair (V, E), where

n  V is a set of nodes, called vertices n  E is a collection of pairs of vertices, called edges n  Vertices and edges are positions and store elements

q  Example: n  A vertex represents an airport and stores the three-letter airport code n  An edge represents a flight route between two airports and stores the

mileage of the route

ORD PVD

MIA DFW

SFO

LAX

LGA

HNL

849

802

1843

1120 1233

337 2555

Page 3: Graph Terminology and Representationsgoodrich/teach/cs260P/notes/Graph.pdf · Graph Terminology and Representations Presentation for use with the textbook, Algorithm Design and ...

© 2015 Goodrich and Tamassia Graphs 3

Edge Types q  Directed edge

n  ordered pair of vertices (u,v) n  first vertex u is the origin n  second vertex v is the destination n  e.g., a flight

q  Undirected edge n  unordered pair of vertices (u,v) n  e.g., a flight route

q  Directed graph n  all the edges are directed n  e.g., route network

q  Undirected graph n  all the edges are undirected n  e.g., flight network

ORD PVD flight

AA 1206

ORD PVD 849 miles

Page 4: Graph Terminology and Representationsgoodrich/teach/cs260P/notes/Graph.pdf · Graph Terminology and Representations Presentation for use with the textbook, Algorithm Design and ...

© 2015 Goodrich and Tamassia Graphs 4

John

DavidPaul

brown.edu

cox.net

cs.brown.edu

att.netqwest.net

math.brown.edu

cslab1bcslab1a

Applications q  Electronic circuits

n  Printed circuit board n  Integrated circuit

q  Transportation networks n  Highway network n  Flight network

q  Computer networks n  Local area network n  Internet n  Web

q  Databases n  Entity-relationship diagram

Page 5: Graph Terminology and Representationsgoodrich/teach/cs260P/notes/Graph.pdf · Graph Terminology and Representations Presentation for use with the textbook, Algorithm Design and ...

© 2015 Goodrich and Tamassia Graphs 5

Terminology q  End vertices (or endpoints) of

an edge n  U and V are the endpoints of a

q  Edges incident on a vertex n  a, d, and b are incident on V

q  Adjacent vertices n  U and V are adjacent

q  Degree of a vertex n  X has degree 5

q  Parallel edges n  h and i are parallel edges

q  Self-loop n  j is a self-loop

X U

V

W

Z

Y

a

c

b

e

d

f

g

h

i

j

Page 6: Graph Terminology and Representationsgoodrich/teach/cs260P/notes/Graph.pdf · Graph Terminology and Representations Presentation for use with the textbook, Algorithm Design and ...

© 2015 Goodrich and Tamassia Graphs 6

P1

Terminology (cont.) q  Path

n  sequence of alternating vertices and edges

n  begins with a vertex n  ends with a vertex n  each edge is preceded and

followed by its endpoints q  Simple path

n  path such that all its vertices and edges are distinct

q  Examples n  P1=(V,b,X,h,Z) is a simple path n  P2=(U,c,W,e,X,g,Y,f,W,d,V) is a

path that is not simple

X U

V

W

Z

Y

a

c

b

e

d

f

g

h P2

Page 7: Graph Terminology and Representationsgoodrich/teach/cs260P/notes/Graph.pdf · Graph Terminology and Representations Presentation for use with the textbook, Algorithm Design and ...

© 2015 Goodrich and Tamassia Graphs 7

Terminology (cont.) q  Cycle

n  circular sequence of alternating vertices and edges

n  each edge is preceded and followed by its endpoints

q  Simple cycle n  cycle such that all its vertices

and edges are distinct

q  Examples n  C1=(V,b,X,g,Y,f,W,c,U,a,↵) is a

simple cycle n  C2=(U,c,W,e,X,g,Y,f,W,d,V,a,↵)

is a cycle that is not simple

C1

X U

V

W

Z

Y

a

c

b

e

d

f

g

h C2

Page 8: Graph Terminology and Representationsgoodrich/teach/cs260P/notes/Graph.pdf · Graph Terminology and Representations Presentation for use with the textbook, Algorithm Design and ...

© 2015 Goodrich and Tamassia Graphs 8

Properties Notation

n number of vertices m number of edges deg(v) degree of vertex v

Property 1 Σv deg(v) = 2m Proof: each edge is

counted twice Property 2

In an undirected graph with no self-loops and no multiple edges

m ≤ n (n - 1)/2

Proof: each vertex has degree at most (n - 1)

What is the bound for a directed graph?

Example n  n = 4 n  m = 6 n  deg(v) = 3

Page 9: Graph Terminology and Representationsgoodrich/teach/cs260P/notes/Graph.pdf · Graph Terminology and Representations Presentation for use with the textbook, Algorithm Design and ...

© 2015 Goodrich and Tamassia Graphs 9

Vertices and Edges q  A graph is a collection of vertices and edges. q  A Vertex is can be an abstract unlabeled object

or it can be labeled (e.g., with an integer number or an airport code) or it can store other objects

q  An Edge can likewise be an abstract unlabeled object or it can be labeled (e.g., a flight number, travel distance, cost), or it can also store other objects.

Page 10: Graph Terminology and Representationsgoodrich/teach/cs260P/notes/Graph.pdf · Graph Terminology and Representations Presentation for use with the textbook, Algorithm Design and ...

© 2015 Goodrich and Tamassia

Graph Operations

Graphs 10

Page 11: Graph Terminology and Representationsgoodrich/teach/cs260P/notes/Graph.pdf · Graph Terminology and Representations Presentation for use with the textbook, Algorithm Design and ...

© 2015 Goodrich and Tamassia

Graph Operations, Continued

Graphs 11

Page 12: Graph Terminology and Representationsgoodrich/teach/cs260P/notes/Graph.pdf · Graph Terminology and Representations Presentation for use with the textbook, Algorithm Design and ...

© 2015 Goodrich and Tamassia Graphs 12

Edge List Structure q  Vertex object

n  element n  reference to position in

vertex sequence q  Edge object

n  element n  origin vertex object n  destination vertex object n  reference to position in

edge sequence q  Vertex sequence

n  sequence of vertex objects

q  Edge sequence n  sequence of edge objects

Page 13: Graph Terminology and Representationsgoodrich/teach/cs260P/notes/Graph.pdf · Graph Terminology and Representations Presentation for use with the textbook, Algorithm Design and ...

© 2015 Goodrich and Tamassia Graphs 13

Adjacency List Structure q  Incidence sequence

for each vertex n  sequence of

references to edge objects of incident edges

q  Augmented edge objects n  references to

associated positions in incidence sequences of end vertices

Page 14: Graph Terminology and Representationsgoodrich/teach/cs260P/notes/Graph.pdf · Graph Terminology and Representations Presentation for use with the textbook, Algorithm Design and ...

© 2015 Goodrich and Tamassia Graphs 14

Adjacency Matrix Structure q  Edge list structure q  Augmented vertex

objects n  Integer key (index)

associated with vertex q  2D-array adjacency

array n  Reference to edge

object for adjacent vertices

n  Null for non nonadjacent vertices

q  The “old fashioned” version just has 0 for no edge and 1 for edge

Page 15: Graph Terminology and Representationsgoodrich/teach/cs260P/notes/Graph.pdf · Graph Terminology and Representations Presentation for use with the textbook, Algorithm Design and ...

© 2015 Goodrich and Tamassia Graphs 15

Performance (All bounds are big-oh running times, except for “Space”)

§  n vertices, m edges §  no parallel edges §  no self-loops

Edge List

Adjacency List

Adjacency Matrix

Space n + m n + m n2

incidentEdges(v) m deg(v) n areAdjacent (v, w) m min(deg(v), deg(w)) 1 insertVertex(o) 1 1 n2

insertEdge(v, w, o) 1 1 1 removeVertex(v) m deg(v) n2 removeEdge(e) 1 1 1