chapter22.ppt

32
Introduction to Algorithms Second Edition by Cormen, Leiserson, Rivest & Stein Chapter 22

Upload: tareq-hasan

Post on 10-May-2015

2.102 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: chapter22.ppt

Introduction to AlgorithmsSecond Edition

byCormen, Leiserson, Rivest & Stein

Chapter 22

Page 2: chapter22.ppt

Graph

Two standard ways to represent a graph

• Adjacency List

• Adjacency Matrix

Page 3: chapter22.ppt

Adjacency List Representation of a Graph

For each u є V, the adjacency list Adj[u] contains all the vertices v such that there is an edge (u, v) є E.

Page 4: chapter22.ppt

Adjacency Matrix Representation of a Graph

The adjacency-matrix representation of a graph G consists of a |V| × |V| matrix A = (aij) such that

aij=1 if (i,j) є E

=o otherwise

Page 5: chapter22.ppt

Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.

Page 6: chapter22.ppt

Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.

Page 7: chapter22.ppt

Breath-first Search

• Breadth-first search is one of the simplest algorithms for searching a graph

• Given a graph G = (V, E) and a distinguished source vertex s, breadth-first search systematically explores the edges of G to "discover" every vertex that is reachable from s.

Page 8: chapter22.ppt

Breath-first Search

• The algorithm discovers all vertices at distance k from s before discovering any vertices at distance k + 1.

Page 9: chapter22.ppt

Breath-first Search

• To keep track of progress, breadth-first search colors each vertex white, gray, or black. All vertices start out white and may later become gray and then black.

•A vertex is discovered the first time it is encountered during the search, at which time it becomes nonwhite.

Page 10: chapter22.ppt

Breath-first Search

• The color of each vertex u is stored in the variable color[u].

• The predecessor of u is stored in the variable π[u].

•The distance from the source s to vertex u computed by the algorithm is stored in d[u]

Page 11: chapter22.ppt

Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.

Page 12: chapter22.ppt

Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.

Page 13: chapter22.ppt

Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.

Page 14: chapter22.ppt

Depth-first Search

The strategy followed by depth-first search is, as its name implies, to search "deeper" in the graph whenever possible.

Page 15: chapter22.ppt

Depth-first Search

The predecessor sub-graph of a depth-first search forms a depth-first forest composed of several depth-first trees. The edges in Eπ are called tree edges.

Page 16: chapter22.ppt

Depth-first Search

• Each vertex is initially white• It is grayed when it is discovered in the search• and is blackened when it is finished, that is, when its adjacency list has been examined completely. This technique guarantees that each vertex ends up in exactly one depth-first tree, so that these trees aredisjoint.

Page 17: chapter22.ppt

Depth-first Search

Each vertex v has two timestamps: the first timestamp d[v] records when v is first discovered (and grayed), and the second timestamp f [v] records when the search finishes examining v's adjacency list (and blackens v).

Page 18: chapter22.ppt

Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.

Page 19: chapter22.ppt

Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.

Page 20: chapter22.ppt

Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.

Page 21: chapter22.ppt

Property of Depth-First search

An important property of depth-first search is that discovery and finishing times have parenthesis structure.

Page 22: chapter22.ppt

Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.

Page 23: chapter22.ppt

Classification of Edges

We can define four edge types in terms of the depth-first forest Gπ produced by a depth-first search on G.

1. Tree edges are edges in the depth-first forest Gπ. Edge (u, v) is a tree edge if v was first discovered by exploring edge (u, v).2. Back edges are those edges (u, v) connecting a vertex u to an ancestor v in a depth first tree. Self-loops, which may occur in directed graphs, are considered to be backedges.

Page 24: chapter22.ppt

Classification of Edges

3. Forward edges are those non-tree edges (u, v) connecting a vertex u to a descendant v in a depth-first tree.4. Cross edges are all other edges.

Page 25: chapter22.ppt

Classification of Edges

The DFS algorithm can be modified to classify edges as it encounters them. The key idea is that each edge (u, v) can be classified by the color of the vertex v that is reached when the edge is first explored .

1. WHITE indicates a tree edge,2. GRAY indicates a back edge, and3. BLACK indicates a forward or cross edge.

Page 26: chapter22.ppt

Topological Sort

A topological sort of a graph can be viewed as an ordering of its vertices along a horizontal line so that all directed edges go from left to right.

Page 27: chapter22.ppt

Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.

Page 28: chapter22.ppt

Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.

Page 29: chapter22.ppt

Strongly Connected Components

A strongly connected component of a directed graph G=(V,E) is a maximal set of vertices such that for every pair of vertices u and v in C , we have both u~v and v~u

VC

Page 30: chapter22.ppt

Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.

Page 31: chapter22.ppt

Strongly Connected Components

The transpose of a graph G, GT=(V,ET) is used for finding the strongly connected components of a graph G=(V,E)

It is interesting to observe that G and GT have exactly the same strongly connected components

Page 32: chapter22.ppt

Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.