Upload
shon-lamb
View
218
Download
4
Embed Size (px)
Citation preview
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-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-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-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