40
Graphs Chapter 28 Copyright ©2012 by Pearson Education, Inc. All rights reserved

Graphs Chapter 28 Copyright ©2012 by Pearson Education, Inc. All rights reserved

Embed Size (px)

Citation preview

Graphs

Chapter 28

Copyright ©2012 by Pearson Education, Inc. All rights reserved

Contents

• Some Examples and Terminology Road Maps Airline Routes Mazes Course Prerequisites

• Trees Traversals Breadth-First Traversal Depth-First Traversal

Copyright ©2012 by Pearson Education, Inc. All rights reserved

Contents

• Topological Order

• Paths Finding a Path The Shortest Path in an Unweighted Graph The Shortest Path in a Weighted Graph

• Java Interfaces for the ADT Graph

Copyright ©2012 by Pearson Education, Inc. All rights reserved

Objectives

• Describe characteristics of a graph, including vertices, edges, paths

• Give examples of graphs, undirected, directed, unweighted, weighted

• Give examples of vertices Adjacent and not adjacent For both directed and undirected graphs

Copyright ©2012 by Pearson Education, Inc. All rights reserved

Objectives

• Give examples of paths, simple paths, cycles, simple cycles

• Give examples of connected graphs, disconnected graphs, complete graphs

• Perform depth-first traversal, breadth-first traversal on a given graph

• List topological order for vertices of a directed graph without cycles

Copyright ©2012 by Pearson Education, Inc. All rights reserved

Objectives

• Detect whether path exists between two given vertices of a graph

• Find path with fewest edges that joins one vertex to another

• Find path with lowest cost that joins one vertex to another in a weighted graph

• Describe operations for ADT graph

Copyright ©2012 by Pearson Education, Inc. All rights reserved

Examples

• Not the graphs we study Bar graphs, pie charts, etc.

• Graphs we study include Trees Networks of nodes connected by paths Could include a road map

Copyright ©2012 by Pearson Education, Inc. All rights reserved

Figure 28-1 A portion of a road map

Copyright ©2012 by Pearson Education, Inc. All rights reserved

Figure 28-2 A directed graph representing a portion of a city’s street map

Copyright ©2012 by Pearson Education, Inc. All rights reserved

Terminology

• Nodes connected by edges

• Edges Undirected Directed (digraph)

• Path between two vertices Sequence of edges

• Weights Shortest, fastest, cheapest, costs

Copyright ©2012 by Pearson Education, Inc. All rights reserved

Figure 28-3 A weighted graph

Copyright ©2012 by Pearson Education, Inc. All rights reserved

Figure 28-4 Undirected graphs

Copyright ©2012 by Pearson Education, Inc. All rights reserved

Figure 28-5 Vertex A is adjacent to vertex B, but B is not adjacent to A

Copyright ©2012 by Pearson Education, Inc. All rights reserved

Figure 28-6 Airline routes

Copyright ©2012 by Pearson Education, Inc. All rights reserved

Figure 28-7 (a) A maze; (b) its representation as a graph

Copyright ©2012 by Pearson Education, Inc. All rights reserved

Figure 28-8 The prerequisite structure for a selection of courses as a directed graph without cyclesCopyright ©2012 by Pearson Education, Inc. All rights reserved

Figure 28-9 The visitation order of two traversals: (a) depth first;

Copyright ©2012 by Pearson Education, Inc. All rights reserved

Figure 28-9 The visitation order of two traversals: (b) breadth first

Copyright ©2012 by Pearson Education, Inc. All rights reserved

FIGURE 28-10 A trace of a breadth-first traversal beginning at vertex A of a directed graph

Copyright ©2012 by Pearson Education, Inc. All rights reserved

Figure 28-11 A trace of a depth-first traversal beginning at vertex A of a directed graph

Copyright ©2012 by Pearson Education, Inc. All rights reserved

Figure 28-11 A trace of a depth-first traversal beginning at vertex A of a directed graph

Copyright ©2012 by Pearson Education, Inc. All rights reserved

Figure 28-12 Three topological orders for the graph in Figure 28-8

Copyright ©2012 by Pearson Education, Inc. All rights reserved

Figure 28-13 An impossible prerequisite structure for three courses, as a directed graph with a cycle

Copyright ©2012 by Pearson Education, Inc. All rights reserved

Figure 28-14 Finding a topological order for the graph in Figure 28-8

Copyright ©2012 by Pearson Education, Inc. All rights reserved

Figure 28-14 Finding a topological order for the graph in Figure 28-8

Copyright ©2012 by Pearson Education, Inc. All rights reserved

Figure 28-14 Finding a topological order for the graph in Figure 28-8

Copyright ©2012 by Pearson Education, Inc. All rights reserved

Figure 28-14 Finding a topological order for the graph in Figure 28-8

Copyright ©2012 by Pearson Education, Inc. All rights reserved

Figure 28-14 Finding a topological order for the graph in Figure 28-8

Copyright ©2012 by Pearson Education, Inc. All rights reserved

Figure 28-15 (a) An unweighted graph and (b) the possible paths from vertex A to vertex H

Copyright ©2012 by Pearson Education, Inc. All rights reserved

Figure 28-16 (a) The graph in Figure 28-15a after the shortest-path algorithm has traversed from vertex A to vertex H;

(b) the data in a vertexCopyright ©2012 by Pearson Education, Inc. All rights reserved

Figure 28-17 A trace of the traversal in the algorithm to find the shortest path from vertex A to vertex H in an unweighted graph

Copyright ©2012 by Pearson Education, Inc. All rights reserved

Figure 28-17 A trace of the traversal in the algorithm to find the shortest path from vertex A to vertex H in an unweighted graph

Copyright ©2012 by Pearson Education, Inc. All rights reserved

Figure 28-18 (a) A weighted graph and (b) the possible paths from vertex A to vertex H, with their weights

Copyright ©2012 by Pearson Education, Inc. All rights reserved

Figure 28-19 A trace of the traversal in the algorithm to find the cheapest path from vertex A to vertex H in a weighted graph

Copyright ©2012 by Pearson Education, Inc. All rights reserved

Figure 28-19 A trace of the traversal in the algorithm to find the cheapest path from vertex A to vertex H in a weighted graph

Copyright ©2012 by Pearson Education, Inc. All rights reserved

FIGURE 28-20 The graph in Figure 28-18a after finding the cheapest path from vertex A to vertex H

Copyright ©2012 by Pearson Education, Inc. All rights reserved

Java Interfaces for the ADT Graph

• ADT graph different from other ADTs Once instance created, we do not add,

remove, or retrieve components

• Interface to create the graph and to obtain basic information Listing 28-1

Copyright ©2012 by Pearson Education, Inc. All rights reserved

Note: Code listing filesmust be in same folder

as PowerPoint filesfor links to work

Note: Code listing filesmust be in same folder

as PowerPoint filesfor links to work

Java Interfaces for the ADT Graph

• Interface to specify operations such as traversals and path searches Listing 28-2

• For convenience, a third interface to combine first two Listing 28-3

Copyright ©2012 by Pearson Education, Inc. All rights reserved

Figure 28-21 A portion of the flight map in Figure 28-6

Copyright ©2012 by Pearson Education, Inc. All rights reserved

The following statements create the graph shown

End

Chapter 28

Copyright ©2012 by Pearson Education, Inc. All rights reserved