Graph Operations And Representation

Slides:



Advertisements
Similar presentations
IKI 10100: Data Structures & Algorithms Ruli Manurung (acknowledgments to Denny & Ade Azurat) 1 Fasilkom UI Ruli Manurung (Fasilkom UI)IKI10100: Lecture10.
Advertisements

 Graph Graph  Types of Graphs Types of Graphs  Data Structures to Store Graphs Data Structures to Store Graphs  Graph Definitions Graph Definitions.
1 Representing Graphs. 2 Adjacency Matrix Suppose we have a graph G with n nodes. The adjacency matrix is the n x n matrix A=[a ij ] with: a ij = 1 if.
Chapter 9 Graph algorithms. Sample Graph Problems Path problems. Connectedness problems. Spanning tree problems.
Introduction to Graphs
Introduction to Graphs What is a Graph? Some Example applications of Graphs. Graph Terminologies. Representation of Graphs. –Adjacency Matrix. –Adjacency.
Chapter 9 Graph algorithms Lec 21 Dec 1, Sample Graph Problems Path problems. Connectedness problems. Spanning tree problems.
Graphs G = (V,E) V is the vertex set. Vertices are also called nodes and points. E is the edge set. Each edge connects two different vertices. Edges are.
Graphs & Graph Algorithms 2 Fawzi Emad Chau-Wen Tseng Department of Computer Science University of Maryland, College Park.
Graph Operations And Representation. Sample Graph Problems Path problems. Connectedness problems. Spanning tree problems.
Discrete Mathematics Lecture 9 Alexander Bukharovich New York University.
GRAPH Learning Outcomes Students should be able to:
Graph. Data Structures Linear data structures: –Array, linked list, stack, queue Non linear data structures: –Tree, binary tree, graph and digraph.
Graphs CS /02/05 Graphs Slide 2 Copyright 2005, by the authors of these slides, and Ateneo de Manila University. All rights reserved Definition.
Chapter 9 – Graphs A graph G=(V,E) – vertices and edges
Graph Dr. Bernard Chen Ph.D. University of Central Arkansas.
GRAPHS CSE, POSTECH. Chapter 16 covers the following topics Graph terminology: vertex, edge, adjacent, incident, degree, cycle, path, connected component,
7.1 and 7.2: Spanning Trees. A network is a graph that is connected –The network must be a sub-graph of the original graph (its edges must come from the.
Module 5 – Networks and Decision Mathematics Chapter 23 – Undirected Graphs.
1 CS104 : Discrete Structures Chapter V Graph Theory.
Week 11 - Monday.  What did we talk about last time?  Binomial theorem and Pascal's triangle  Conditional probability  Bayes’ theorem.
Data Structures & Algorithms Graphs
Graphs. Graphs Similar to the graphs you’ve known since the 5 th grade: line graphs, bar graphs, etc., but more general. Those mathematical graphs are.
Graphs A graphs is an abstract representation of a set of objects, called vertices or nodes, where some pairs of the objects are connected by links, called.
Data Structures & Algorithms Graphs Richard Newman based on book by R. Sedgewick and slides by S. Sahni.
Graphs G = (V,E) V is the vertex set. Vertices are also called nodes and points. E is the edge set. Each edge connects two different vertices. Edges are.
Graphs 황승원 Fall 2010 CSE, POSTECH. 2 2 Graphs G = (V,E) V is the vertex set. Vertices are also called nodes and points. E is the edge set. Each edge connects.
GRAPHS. Graph Graph terminology: vertex, edge, adjacent, incident, degree, cycle, path, connected component, spanning tree Types of graphs: undirected,
Graph. Graphs G = (V,E) V is the vertex set. Vertices are also called nodes and points. E is the edge set. Each edge connects two different vertices.
Chapter 6 Graphs. 2 Outline Definitions, Terminologies and Applications Graph Representation Elementary graph operations Famous Graph Problems.
Graphs Upon completion you will be able to:
Graph Theory. undirected graph node: a, b, c, d, e, f edge: (a, b), (a, c), (b, c), (b, e), (c, d), (c, f), (d, e), (d, f), (e, f) subgraph.
Graphs Definition: a graph is an abstract representation of a set of objects where some pairs of the objects are connected by links. The interconnected.
Graphs. Graph Definitions A graph G is denoted by G = (V, E) where  V is the set of vertices or nodes of the graph  E is the set of edges or arcs connecting.
Spanning Trees Dijkstra (Unit 10) SOL: DM.2 Classwork worksheet Homework (day 70) Worksheet Quiz next block.
1 GRAPH Learning Outcomes Students should be able to: Explain basic terminology of a graph Identify Euler and Hamiltonian cycle Represent graphs using.
Lecture 20. Graphs and network models 1. Recap Binary search tree is a special binary tree which is designed to make the search of elements or keys in.
1 Data Structures and Algorithms Graphs. 2 Graphs Basic Definitions Paths and Cycles Connectivity Other Properties Representation Examples of Graph Algorithms:
Subject Four Graphs Data Structures. What is a graph? A data structure that consists of a set of nodes (vertices) and a set of edges that relate the nodes.
Graphs.
Introduction to Graphs
Introduction to Graphs
Unit 3 Graphs.
CS202 - Fundamental Structures of Computer Science II
Graph Operations And Representation
Graph Algorithm.
Connected Components Minimum Spanning Tree
Graphs & Graph Algorithms 2
Graphs All tree structures are hierarchical. This means that each node can only have one parent node. Trees can be used to store data which has a definite.
Graphs Chapter 11 Objectives Upon completion you will be able to:
Graphs.
Connectivity Section 10.4.
Minimum Spanning Tree Algorithms
ITEC 2620M Introduction to Data Structures
Graphs Chapter 7 Visit for more Learning Resources.
Graphs G = (V, E) V are the vertices; E are the edges.
GRAPHS G=<V,E> Adjacent vertices Undirected graph
Graphs.
Graphs.
Graph Operations And Representation
Graphs.
Chapter 14 Graphs © 2011 Pearson Addison-Wesley. All rights reserved.
Graphs.
Graphs: Definitions How would you represent the following?
Graphs G = (V,E) V is the vertex set.
Chapter 9 Graph algorithms
Heaps Chapter 6 Section 6.9.
Introduction to Graphs
For Friday Read chapter 9, sections 2-3 No homework
Introduction to Graphs
Presentation transcript:

Graph Operations And Representation

Path Finding Path between 1 and 8. Path length is 20. 2 3 8 1 10 4 5 9 11 6 7 Vertices represent cities and edges represent highways. Edge weights are distances or driving times. Depending on the context, path length may either be the number of edges on the path or the sum of the weights of the edges on the path. Path length is 20.

Another Path Between 1 and 8 2 3 8 10 1 4 5 9 11 6 7 Since a graph may have more than one path between two vertices, we may be interested in finding a path with a particular property. For example, find a path with minimum length Path length is 28.

Example Of No Path 2 3 8 10 1 4 5 9 11 6 7 No path between 2 and 9.

Connected Graph Undirected graph. There is a path between every pair of vertices.

Example Of Not Connected 2 3 8 10 1 4 5 9 11 6 7

Connected Graph Example 2 3 8 10 1 4 5 9 11 6 7 Determine whether an undirected graph is connected.

Communication Network 2 3 8 10 1 4 5 9 11 6 7 Each edge is a link that can be constructed (i.e., a feasible link).

Communication Network Problems Is the network connected? Can we communicate between every pair of cities? Find the components. Want to construct smallest number of feasible links so that resulting network is connected.

Cycles And Connectedness 2 3 8 10 1 4 5 9 11 6 7 Removal of an edge that is on a cycle does not affect connectedness.

Cycles And Connectedness 2 3 8 1 10 4 5 9 11 6 7 Connected subgraph with all vertices and minimum number of edges has no cycles.

Minimum Cost Spanning Tree 2 3 8 10 1 4 5 9 11 6 7 Tree cost is sum of edge weights/costs.

A Spanning Tree Spanning tree cost = 51. 2 4 3 8 8 1 6 10 2 4 5 4 4 3 9 8 11 5 6 2 7 6 7 Spanning tree cost = 51.

Minimum Cost Spanning Tree 2 4 3 8 8 1 6 10 2 4 5 4 4 3 5 9 8 11 5 6 2 In the communication networks area, we are interested in finding minimum cost spanning trees. 7 6 7 Spanning tree cost = 41.

Graph Representation Adjacency Matrix Adjacency Lists Linked Adjacency Lists Array Adjacency Lists

Adjacency Matrix 0/1 n x n matrix, where n = # of vertices A(i,j) = 1 iff (i,j) is an edge 1 2 3 4 5 2 3 1 4 5 1 1 1 1 1 1 1 1 1 1

Adjacency Matrix Properties 2 3 1 4 5 Diagonal entries are zero. Adjacency matrix of an undirected graph is symmetric.

Adjacency Matrix (Digraph) 2 3 1 4 5 Diagonal entries are zero. Adjacency matrix of a digraph need not be symmetric.

The number of 1’s in the matrix equals twice the number of edges in the graph.

Adjacency Matrix n2 bits of space For an undirected graph, may store only lower or upper triangle (exclude diagonal). (n-1)n/2 bits O(n) time to find vertex degree and/or vertices adjacent to a given vertex.

Adjacency Lists Adjacency list for vertex i is a linear list of vertices adjacent from vertex i. An array of n adjacency lists. aList[1] = (2,4) aList[2] = (1,5) aList[3] = (5) aList[4] = (5,1) aList[5] = (2,4,3) 2 3 1 4 5

Linked Adjacency Lists Each adjacency list is a chain. 2 3 1 4 5 aList[1] aList[5] [2] [3] [4] 2 4 1 5 5 5 1 2 4 3 Array length n simply means we need an array with n spots. A direct implementation using a Java array would need n+1 spots, because spot 0 would not be utilized. However, by using spot 0 for vertex 1, spot 1 for vertex 2, and so on, we could get by with a Java array whose length is actually n. Array Length = n # of chain nodes = 2e (undirected graph) # of chain nodes = e (digraph)

Array Adjacency Lists Each adjacency list is an array list. aList[1] 2 3 1 4 5 aList[1] aList[5] [2] [3] [4] Array Length = n # of list elements = 2e (undirected graph) # of list elements = e (digraph)

Weighted Graphs Cost adjacency matrix. C(i,j) = cost of edge (i,j) Adjacency lists => each list element is a pair (adjacent vertex, edge weight)