Download presentation
1
Chapter 9: Graphs Basic Concepts
Mark Allen Weiss: Data Structures and Algorithm Analysis in Java Chapter 9: Graphs Basic Concepts Lydia Sinapova, Simpson College
2
Graphs – Basic Concepts
Basic definitions: vertices and edges More definitions: paths, simple paths, cycles, loops Connected and disconnected graphs Spanning trees Complete graphs Weighted graphs and networks Graph representation Adjacency matrix Adjacency lists
3
Basic Graph Definitions
A graph is a mathematical object that is used to model different situations – objects and processes: Linked list Tree (partial instance of graph) Flowchart of a program City map Electric circuits Course curriculum
4
Vertices and Edges Definition: A graph is a collection (nonempty set) of vertices and edges Vertices: can have names and properties Edges: connect two vertices, can be labeled, can be directed Adjacent vertices: there is an edge between them
5
Example Vertices: A,B,C,D Edges: AB, AC, BC, CD A C B D A B C D Graph1
Two ways to draw the same graph
6
Directed and undirected graphs
B C D These are two different graphs
7
More definitions : Path
A list of vertices in which successive vertices are connected by edges A B C B A C D A B C A B C A B C D B A B A C A B C D
8
More definitions : Simple Path
No vertex is repeated. A B C D D C A D C B A B A B C A B C D
9
More definitions : Cycle
Simple path with distinct edges, except that the first vertex is equal to the last A B C D A B C A B A C B C B A C A graph without cycles is called acyclic graph.
10
More definitions : Loop
An edge that connects the vertex with itself A B C D
11
Connected and Disconnected graphs
Connected graph: There is a path between each two vertices Disconnected graph : There are at least two vertices not connected by a path. Examples of disconnected graphs: A B C D
12
Graphs and Trees Tree: an undirected graph with no cycles, and a node chosen to be the root A B C E D Source graph:
13
Graphs and Trees A C E B D C A E B D Tree1: root A Tree2: root C
14
A spanning tree of an undirected graph
A sub-graph that contains all the vertices, and no cycles. If we add any edge to the spanning tree, it forms a cycle, and the tree becomes a graph A B C D A B graph spanning tree C D
15
Examples A B C D All spanning trees of the graph on the previous slide
16
Complete graphs Graphs with all edges present – each vertex is connected to all other vertices A B C D E Dense graphs: relatively few of the possible edges are missing Sparse graphs: relatively few of the possible edges are present A complete graph
17
Weighted graphs and Networks
Weighted graphs – weights are assigned to each edge (e.g. road map) Networks: directed weighted graphs (some theories allow networks to be undirected) B 2 1 C A 2 4 3 D
18
Graph Representation Adjacency matrix Adjacency lists
19
Adjacency matrix – undirected graphs
Vertices: A,B,C,D Edges: AC, AB, AD, BD A B C D A B C D The matrix is symmetrical A B C D
20
Adjacency matrix – directed graphs
Vertices: A,B,C,D Edges: AC, AB, BD, DA A B C D A B C D A B C D
21
Adjacency lists – undirected graphs
Vertices: A,B,C,D Edges: AC, AB, AD, BD Heads lists A B C D B A D C A D A B A B C D
22
Adjacency lists – directed graphs
Vertices: A,B,C,D Edges: AC, AB, BD, DA Heads lists A B C B D C = D A A B C D
Similar presentations
© 2024 SlidePlayer.com Inc.
All rights reserved.