Graphs and Finding your way in the wilderness Chapter 14 in DS&PS Chapter 9 in DS&AA.
Chapter 9 Graphs
description
Transcript of Chapter 9 Graphs
![Page 1: Chapter 9 Graphs](https://reader033.fdocuments.in/reader033/viewer/2022051316/56814205550346895dade7ef/html5/thumbnails/1.jpg)
Chapter 9Graphs
Chapter 9Graphs
![Page 2: Chapter 9 Graphs](https://reader033.fdocuments.in/reader033/viewer/2022051316/56814205550346895dade7ef/html5/thumbnails/2.jpg)
Sec. 9.2: TerminologySec. 9.2: Terminology
Let G=(V, E) be an undirected graph & e={u,v} be an edge, then
– u and v are adjacent
– e is incident to u and v
– u and v are connected
– u and v are endpoints of e
![Page 3: Chapter 9 Graphs](https://reader033.fdocuments.in/reader033/viewer/2022051316/56814205550346895dade7ef/html5/thumbnails/3.jpg)
DefinitionDefinition
Degree of a vertex v in an undirected graph G is denoted by deg(v) and is defined to be the number of edges incident to it where a loop contributes twice to the degree.
![Page 4: Chapter 9 Graphs](https://reader033.fdocuments.in/reader033/viewer/2022051316/56814205550346895dade7ef/html5/thumbnails/4.jpg)
DefinitionDefinition
If deg(v) =0 then v is called isolated If deg(v)=1 then v is called pendant
![Page 5: Chapter 9 Graphs](https://reader033.fdocuments.in/reader033/viewer/2022051316/56814205550346895dade7ef/html5/thumbnails/5.jpg)
The Hand Shaking Theorem The Hand Shaking Theorem
Let G be an undirected graph (simple, multi, or pseudo) with e edges. Then
The sum of all degrees = 2 e
deg(v) = 2 e
v Notice that 2e is even number
![Page 6: Chapter 9 Graphs](https://reader033.fdocuments.in/reader033/viewer/2022051316/56814205550346895dade7ef/html5/thumbnails/6.jpg)
TheoremTheorem
Any undirected graph has an even number of vertices of odd degree
Because
–the sum of all vertices of even degrees is even
–The sum of all degrees is even
![Page 7: Chapter 9 Graphs](https://reader033.fdocuments.in/reader033/viewer/2022051316/56814205550346895dade7ef/html5/thumbnails/7.jpg)
DefinitionDefinition
Let G be a directed graph & e=(u,v) be an edge, then
– u is adjacent to v
– v is adjacent from u
– u is initial vertex of e
– v is terminal (end) vertex of e
![Page 8: Chapter 9 Graphs](https://reader033.fdocuments.in/reader033/viewer/2022051316/56814205550346895dade7ef/html5/thumbnails/8.jpg)
DefinitionDefinition
In-deg(v) = deg-(v) = # of edges with v as terminal vertex
Out-deg(v) = deg+(v) = # of edges with v as initial vertex
![Page 9: Chapter 9 Graphs](https://reader033.fdocuments.in/reader033/viewer/2022051316/56814205550346895dade7ef/html5/thumbnails/9.jpg)
Theorem Theorem
Let G be a directed graph, then
The sum of all in-degrees
= the sum of all out-degrees
= total number of edges
EvvVvVv
)(deg)(deg
![Page 10: Chapter 9 Graphs](https://reader033.fdocuments.in/reader033/viewer/2022051316/56814205550346895dade7ef/html5/thumbnails/10.jpg)
Special graphsSpecial graphs
Complete graph on n vertices Kn: is a simple graph with all of the C(n,2) edges
Cycle Cn , n 3
Wheel Wn , n 3
n-Cubes Qn , n 1
![Page 11: Chapter 9 Graphs](https://reader033.fdocuments.in/reader033/viewer/2022051316/56814205550346895dade7ef/html5/thumbnails/11.jpg)
Special GraphsSpecial Graphs
Graph Vertices Edges Degree
Kn n C(n,2) n-1
Cn n n 2
Wn n+1 2n 3 and n
Qn 2n n2n-1 n
![Page 12: Chapter 9 Graphs](https://reader033.fdocuments.in/reader033/viewer/2022051316/56814205550346895dade7ef/html5/thumbnails/12.jpg)
Bipartite GraphBipartite Graph
A simple graph G=(V,E) is a bipartite if V= V1 V2 and V1 V2 = such that no edge in E connects two vertices V1 in or two vertices in V2 ,
Note that Cn is bipartite iff n is even
![Page 13: Chapter 9 Graphs](https://reader033.fdocuments.in/reader033/viewer/2022051316/56814205550346895dade7ef/html5/thumbnails/13.jpg)
Complete Bipartite GraphComplete Bipartite Graph
Km,n is a complete bipartite iff |V1 |=m and |V2|=n and every vertex in V1 is connected to every vertex in V2 and vice versa.
![Page 14: Chapter 9 Graphs](https://reader033.fdocuments.in/reader033/viewer/2022051316/56814205550346895dade7ef/html5/thumbnails/14.jpg)
Sec 9.3: Graphs RepresentationsSec 9.3: Graphs Representations
![Page 15: Chapter 9 Graphs](https://reader033.fdocuments.in/reader033/viewer/2022051316/56814205550346895dade7ef/html5/thumbnails/15.jpg)
Sec 8.3: Graphs RepresentationsSec 8.3: Graphs Representations
There are two ways to represent graphs
1. Adjacency Lists: each vertex has a linked list that contains vertices adjacent to it.
2. Adjacency Matrix: which is defined as follows
![Page 16: Chapter 9 Graphs](https://reader033.fdocuments.in/reader033/viewer/2022051316/56814205550346895dade7ef/html5/thumbnails/16.jpg)
Adjacency MatrixAdjacency Matrix
For any simple graph G, we have an adjacency matrix AG =[ aij ], where
aij = 1, if {vi, vj} E, and 0 otherwise.
Notice that AG is symmetric if G is simple and for directed graphs it may not be.
AG is called sparse if it has few 1s.
![Page 17: Chapter 9 Graphs](https://reader033.fdocuments.in/reader033/viewer/2022051316/56814205550346895dade7ef/html5/thumbnails/17.jpg)
Adjacency MatrixAdjacency Matrix
For multigraphs or pseudographs AG
can be represented by
aij = k, if there are k edges between vi and vj.
![Page 18: Chapter 9 Graphs](https://reader033.fdocuments.in/reader033/viewer/2022051316/56814205550346895dade7ef/html5/thumbnails/18.jpg)
IsomorphismIsomorphism
![Page 19: Chapter 9 Graphs](https://reader033.fdocuments.in/reader033/viewer/2022051316/56814205550346895dade7ef/html5/thumbnails/19.jpg)
IsomorphismIsomorphism
Two graphs G1 & G2 are isomorphic iff there is a bijective function f :V1 V2 such that whenever
{a,b} E then {f(a), f(b)} E.
This means that G1 can be redrawn to get G2 with the same number of vertices, edges and degrees.
See examples in textbook.
![Page 20: Chapter 9 Graphs](https://reader033.fdocuments.in/reader033/viewer/2022051316/56814205550346895dade7ef/html5/thumbnails/20.jpg)
Isomorphism Isomorphism
There are some graphical properties that are invariant (preserved) under isomorphism, e.g.– # of vertices– # of edges– Degrees– Cycles– Euler cycles– Hamilton cycles
![Page 21: Chapter 9 Graphs](https://reader033.fdocuments.in/reader033/viewer/2022051316/56814205550346895dade7ef/html5/thumbnails/21.jpg)
DefinitionsDefinitions
A subgraph of G =(V, E) is a graph H=(U,F) such that U V and F E.
A graph is called regular iff every vertex has the same degree.
A graph is called n-regular iff every vertex has deg=n.
![Page 22: Chapter 9 Graphs](https://reader033.fdocuments.in/reader033/viewer/2022051316/56814205550346895dade7ef/html5/thumbnails/22.jpg)
Sec. 9.4: ConnectivitySec. 9.4: Connectivity
![Page 23: Chapter 9 Graphs](https://reader033.fdocuments.in/reader033/viewer/2022051316/56814205550346895dade7ef/html5/thumbnails/23.jpg)
DefinitonsDefinitons
A path is sequence of edges {a,b}, {b,c}, {c,d}, {d,e}, ...
The length of a path e1, e2, e3, e4, .. en is the number of edges in the path =n.
A path is a circuit (cycle) when it begins and ends with the same vertex and n>0.
The path is said to passes through the vertices a, b, c, .. Or traverses the edges e1, e2, e3, e4, .. en
![Page 24: Chapter 9 Graphs](https://reader033.fdocuments.in/reader033/viewer/2022051316/56814205550346895dade7ef/html5/thumbnails/24.jpg)
DefinitionDefinition
A path is simple if it doesn’t contain the same edge more than once.
An undirected graph is connected iff there is a simple path between any two vertices.
A directed graph is strongly connected iff there is a 2-way path between any two vertices.
A directed graph is weakly connected iff there is a path between any two vertices inits underlying undirected graph.
![Page 25: Chapter 9 Graphs](https://reader033.fdocuments.in/reader033/viewer/2022051316/56814205550346895dade7ef/html5/thumbnails/25.jpg)
DefinitionDefinition
A cut vertex in a connected graph is a vertex whose removal produces unconnected graph
A cut edge (bridge) in a connected graph is an edge whose removal produces unconnected graph
![Page 26: Chapter 9 Graphs](https://reader033.fdocuments.in/reader033/viewer/2022051316/56814205550346895dade7ef/html5/thumbnails/26.jpg)
DefinitionsDefinitions
The connected components in any graph are the maximum connected subgraphs
The strongly connected components in any directed graph are the maximum strongly connected subgraphs
![Page 27: Chapter 9 Graphs](https://reader033.fdocuments.in/reader033/viewer/2022051316/56814205550346895dade7ef/html5/thumbnails/27.jpg)
Sec. 9.5: Euler and Hamilton
Paths and Circuits
Sec. 9.5: Euler and Hamilton
Paths and Circuits
![Page 28: Chapter 9 Graphs](https://reader033.fdocuments.in/reader033/viewer/2022051316/56814205550346895dade7ef/html5/thumbnails/28.jpg)
DefinitionsDefinitions
Euler path in a graph G is a simple path containing every edge in G.– Start from a vertex & walk on every edge
exactly once but you don’t have to return back to the same vertex
Euler circuit in a graph G is a simple circuit containing every edge in G.– Start from a vertex & walk on every edge
exactly once and return back to the same vertex.
![Page 29: Chapter 9 Graphs](https://reader033.fdocuments.in/reader033/viewer/2022051316/56814205550346895dade7ef/html5/thumbnails/29.jpg)
TheoremTheorem
A connected multigraph has an Euler circuit iff every vertex has an even degree.
A connected multigraph has an Euler path but not an Euler circuit iff there exists exactly two vertices of odd degrees and the others are even degrees.
![Page 30: Chapter 9 Graphs](https://reader033.fdocuments.in/reader033/viewer/2022051316/56814205550346895dade7ef/html5/thumbnails/30.jpg)
DefinitionDefinition
A Hamilton path in G is a path that visits every vertex exactly once
A Hamilton circuit in G is a circuit that visits every vertex exactly once
Note that every Kn has Hamilton Circuit because it has Cn
![Page 31: Chapter 9 Graphs](https://reader033.fdocuments.in/reader033/viewer/2022051316/56814205550346895dade7ef/html5/thumbnails/31.jpg)
RemarkRemark
Some graphs could have Euler path but no circuits and same for Hamiltonian.
![Page 32: Chapter 9 Graphs](https://reader033.fdocuments.in/reader033/viewer/2022051316/56814205550346895dade7ef/html5/thumbnails/32.jpg)
Sec 9.7: Planar graphsSec 9.7: Planar graphs
![Page 33: Chapter 9 Graphs](https://reader033.fdocuments.in/reader033/viewer/2022051316/56814205550346895dade7ef/html5/thumbnails/33.jpg)
DefinitionDefinition
A graph is called planar if it can be drawn in the plane without any edge crossing. Any planar graph split the plane into regions.
E.g., K4 and Q3 are planar
![Page 34: Chapter 9 Graphs](https://reader033.fdocuments.in/reader033/viewer/2022051316/56814205550346895dade7ef/html5/thumbnails/34.jpg)
Euler FormulaEuler Formula
Let G be any connected simple planar graph. Then the number of regions
r = |E| - |V| +2
![Page 35: Chapter 9 Graphs](https://reader033.fdocuments.in/reader033/viewer/2022051316/56814205550346895dade7ef/html5/thumbnails/35.jpg)
Sec. 9.8: Graph ColoringSec. 9.8: Graph Coloring
![Page 36: Chapter 9 Graphs](https://reader033.fdocuments.in/reader033/viewer/2022051316/56814205550346895dade7ef/html5/thumbnails/36.jpg)
ProblemProblem
Color a map of regions with common borders such that no two neighbor regions have the same color.
Maps can be modeled by a graph called the dual graph where
– Vertices represent regions
– Edges represent common borders
![Page 37: Chapter 9 Graphs](https://reader033.fdocuments.in/reader033/viewer/2022051316/56814205550346895dade7ef/html5/thumbnails/37.jpg)
DefinitionDefinition
A coloring of a simple graph is an assignment of colors of vertices of G such that adjacent vertices are colored with different colors.
The chromatic number of a graph G is the least number of colors needed to color the graph correctly.
![Page 38: Chapter 9 Graphs](https://reader033.fdocuments.in/reader033/viewer/2022051316/56814205550346895dade7ef/html5/thumbnails/38.jpg)
The 4 colors TheoremThe 4 colors Theorem
The chromatic number of
a planar graph 4.
Recall that a graph is called planar if it can be drawn in the plane without any edge crossing.
![Page 39: Chapter 9 Graphs](https://reader033.fdocuments.in/reader033/viewer/2022051316/56814205550346895dade7ef/html5/thumbnails/39.jpg)
ExamplesExamples
(Kn) = n
(Cn) = 2 if n is even and 3 otherwise
(Wn) = 3 if n is even and 4 otherwise
![Page 40: Chapter 9 Graphs](https://reader033.fdocuments.in/reader033/viewer/2022051316/56814205550346895dade7ef/html5/thumbnails/40.jpg)
Chapter 10: TreesChapter 10: Trees
![Page 41: Chapter 9 Graphs](https://reader033.fdocuments.in/reader033/viewer/2022051316/56814205550346895dade7ef/html5/thumbnails/41.jpg)
DefinitionDefinition
A tree is a connected undirected acyclic (with no cycle) simple graph
A collection of trees is called forest.
![Page 42: Chapter 9 Graphs](https://reader033.fdocuments.in/reader033/viewer/2022051316/56814205550346895dade7ef/html5/thumbnails/42.jpg)
TheoremTheorem
An undirected graph is a tree iff there is a unique simple path between any two vertices.
![Page 43: Chapter 9 Graphs](https://reader033.fdocuments.in/reader033/viewer/2022051316/56814205550346895dade7ef/html5/thumbnails/43.jpg)
DefinitionDefinition
A rooted tree is a tree in which one vertex is specified as the root & every edge is drawn away from the root
![Page 44: Chapter 9 Graphs](https://reader033.fdocuments.in/reader033/viewer/2022051316/56814205550346895dade7ef/html5/thumbnails/44.jpg)
DefinitionDefinition
root
vertex
parent
children
![Page 45: Chapter 9 Graphs](https://reader033.fdocuments.in/reader033/viewer/2022051316/56814205550346895dade7ef/html5/thumbnails/45.jpg)
DefinitionDefinition
Root: a vertex with no parent Leaf: a vertex with no children Internal node: vertex with children Descendants: all children and children
of children Ancestors: parent and parents of
parents Siblings: vertices with the same parent
![Page 46: Chapter 9 Graphs](https://reader033.fdocuments.in/reader033/viewer/2022051316/56814205550346895dade7ef/html5/thumbnails/46.jpg)
DefinitionDefinition
An m-ary tree is a rooted tree where the number of children of any internal vertex m
A full m-ary tree is an m-ary tree where the number of children of any internal vertex = m
if m=2, we call it binary tree
![Page 47: Chapter 9 Graphs](https://reader033.fdocuments.in/reader033/viewer/2022051316/56814205550346895dade7ef/html5/thumbnails/47.jpg)
DefinitionDefinition
In an ordered rooted tree the children are ordered.
For example, in an ordered binary tree, a vertex may have left child and right child
![Page 48: Chapter 9 Graphs](https://reader033.fdocuments.in/reader033/viewer/2022051316/56814205550346895dade7ef/html5/thumbnails/48.jpg)
PropertiesProperties
Number of edges in a tree of size n = n-1 Any full m-ary tree with i internal vertices has
m i + 1 vertices
![Page 49: Chapter 9 Graphs](https://reader033.fdocuments.in/reader033/viewer/2022051316/56814205550346895dade7ef/html5/thumbnails/49.jpg)
PropertiesProperties
A full m-ary tree with n vertices has i =(n-1)/m internal
and l = ((m-1)n+1)/m leaves i internal has n=mi+1 vertices and l= (m-1)i+1 leaves l leaves has n=(ml -1)/(m-1) vertices
and i =(l-1)/(m-1) internal