2 Office hours: MWR 4:20-5:30 inside or just outside Elliott 162- tell me in class that you would like to attend. For those of you who cannot stay: MWR:

Slides:



Advertisements
Similar presentations
Lecture 15. Graph Algorithms
Advertisements

22C:19 Discrete Math Graphs Fall 2010 Sukumar Ghosh.
Introduction to Graph Theory Instructor: Dr. Chaudhary Department of Computer Science Millersville University Reading Assignment Chapter 1.
Graph-02.
Review Binary Search Trees Operations on Binary Search Tree
Graphs Chapter 20 Data Structures and Problem Solving with C++: Walls and Mirrors, Carrano and Henry, © 2013.
Introduction This chapter explores graphs and their applications in computer science This chapter explores graphs and their applications in computer science.
Edited by Malak Abdullah Jordan University of Science and Technology Data Structures Using C++ 2E Chapter 12 Graphs.
 Graph Graph  Types of Graphs Types of Graphs  Data Structures to Store Graphs Data Structures to Store Graphs  Graph Definitions Graph Definitions.
C++ Programming: Program Design Including Data Structures, Third Edition Chapter 21: Graphs.
Last time: terminology reminder w Simple graph Vertex = node Edge Degree Weight Neighbours Complete Dual Bipartite Planar Cycle Tree Path Circuit Components.
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.
Graph & BFS.
Discrete Structures Chapter 7B Graphs Nurul Amelina Nasharuddin Multimedia Department.
Lists A list is a finite, ordered sequence of data items. Two Implementations –Arrays –Linked Lists.
Introduction to Graphs
Graph & BFS Lecture 22 COMP171 Fall Graph & BFS / Slide 2 Graphs * Extremely useful tool in modeling problems * Consist of: n Vertices n Edges D.
Definition Dual Graph G* of a Plane Graph:
CTIS 154 Discrete Mathematics II1 8.2 Paths and Cycles Kadir A. Peker.
Graphs Chapter 20 Data Structures and Problem Solving with C++: Walls and Mirrors, Frank Carrano, © 2012.
Problem: Induced Planar Graphs Tim Hayes Mentor: Dr. Fiorini.
Problem: Induced Planar Graphs Tim Hayes Mentor: Dr. Fiorini.
GRAPH Learning Outcomes Students should be able to:
Graphs CS /02/05 Graphs Slide 2 Copyright 2005, by the authors of these slides, and Ateneo de Manila University. All rights reserved Definition.
Data Structures Using C++ 2E
Graph Theory Chapter 6 Planar Graphs Ch. 6. Planar Graphs.
© 2006 Pearson Addison-Wesley. All rights reserved14 A-1 Chapter 14 Graphs.
GRAPHS CSE, POSTECH. Chapter 16 covers the following topics Graph terminology: vertex, edge, adjacent, incident, degree, cycle, path, connected component,
Graphs Chapter 12.
CSE, IIT KGP Graph Theory: Introduction Pallab Dasgupta Dept. of CSE, IIT
CSNB143 – Discrete Structure Topic 9 – Graph. Learning Outcomes Student should be able to identify graphs and its components. Students should know how.
Based on slides by Y. Peng University of Maryland
Indian Institute of Technology Kharagpur PALLAB DASGUPTA Graph Theory: Introduction Pallab Dasgupta, Professor, Dept. of Computer Sc. and Engineering,
Graphs.  Definition A simple graph G= (V, E) consists of vertices, V, a nonempty set of vertices, and E, a set of unordered pairs of distinct elements.
Graphs. Definitions A graph is two sets. A graph is two sets. –A set of nodes or vertices V –A set of edges E Edges connect nodes. Edges connect nodes.
Discrete Structures Trees (Ch. 11)
1 12/2/2015 MATH 224 – Discrete Mathematics Formally a graph is just a collection of unordered or ordered pairs, where for example, if {a,b} G if a, b.
Most of contents are provided by the website Graph Essentials TJTSD66: Advanced Topics in Social Media.
1 Problem of the Day: Describe using set descriptor notation the complements of (a) { , a, aa, aaa} over ∑ = {a} (b) { , a, aa, aaa} over ∑ = {a,b} (c)
Graph Theory and Applications
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.
Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley. Ver Chapter 13: Graphs Data Abstraction & Problem Solving with C++
GRAPHS. Graph Graph terminology: vertex, edge, adjacent, incident, degree, cycle, path, connected component, spanning tree Types of graphs: undirected,
 Quotient graph  Definition 13: Suppose G(V,E) is a graph and R is a equivalence relation on the set V. We construct the quotient graph G R in the follow.
Graphs Upon completion you will be able to:
Introduction to Graph Theory
Chapter 11 - Graph CSNB 143 Discrete Mathematical Structures.
Introduction to Graph Theory By: Arun Kumar (Asst. Professor) (Asst. Professor)
Graph Concepts and Algorithms Using LEDA By Caroline Moore and Carmen Frerichs (252a-at and 252a-ao) each graph in the presentation was created using gw_basic_graph_algorithms.
Chapter 20: Graphs. Objectives In this chapter, you will: – Learn about graphs – Become familiar with the basic terminology of graph theory – Discover.
1 GRAPH Learning Outcomes Students should be able to: Explain basic terminology of a graph Identify Euler and Hamiltonian cycle Represent graphs using.
Lecture #13. Topics 1.The Graph Abstract Data Type. 2.Graph Representations. 3.Elementary Graph Operations.
رياضيات متقطعة لعلوم الحاسب MATH 226. Chapter 10.
Graphs ORD SFO LAX DFW Graphs 1 Graphs Graphs
Data Structures & Algorithm Analysis lec(8):Graph T. Souad alonazi
Graphs.
CS 201: Design and Analysis of Algorithms
Applied Discrete Mathematics Week 14: Trees
Graphs Lecture 19 CS2110 – Spring 2013.
Data Structures 13th Week
Graph theory Definitions Trees, cycles, directed graphs.
Graphs Chapter 13.
Graphs Chapter 11 Objectives Upon completion you will be able to:
Graphs.
Chapter 14 Graphs © 2006 Pearson Addison-Wesley. All rights reserved.
Lecture 11 CSE 331 Sep 23, 2011.
Graphs G = (V, E) V are the vertices; E are the edges.
Based on slides by Y. Peng University of Maryland
Binhai Zhu Computer Science Department, Montana State University
INTRODUCTION A graph G=(V,E) consists of a finite non empty set of vertices V , and a finite set of edges E which connect pairs of vertices .
Presentation transcript:

2 Office hours: MWR 4:20-5:30 inside or just outside Elliott 162- tell me in class that you would like to attend. For those of you who cannot stay: MWR: 1:30-2:30pm. But let me know 24 hours in advance you would like me to come in early. We will meet outside Elliott 162- Please estimate the length of time you require. I am also very happy to provide help: Important note: to ensure your gets through the spam filter, use your UVic account. I answer all s that I receive from my students.

3 Submissions for the Project For me to have enough room for feedback, it is critical that all written project submissions should be in at least a 12 point font with 1.5 spacing. Overheads should be printed with one slide per page (not 2-4). All project components are cumulative. This means that your written project proposal forms a starting point for the written research proposal which is then used to make the final project report. Similarly, your oral project proposal forms a starting point for the oral research proposal which is then used to create the final project report. You will be given feedback at every stage and can incorporate these suggestions to improve your next submission.

4 Project Proposal (1-2 pages) The student should have chosen a project topic by this point. A short report should be turned in describing the problem the student has chosen to study. I want you to define ALL relevant terminology for your project starting from the definitions of a graph, a vertex and an edge. You do not need to include any literature review or progress on the research at this stage- just the problem defintion.

5 Oral Project Proposal (1-3 slides) The student should prepare slides which describe the problem chosen, perhaps with an appropriate example. Again, include even the elementary definitions. Pictures speak louder than words- make sure you illustrate the relevant concepts using approriate pictures. If you want to use a computer to present your final talk, please print the slides onto paper (one slide per page) to hand them in. If you plan to use celluloid, you may design your slides on paper to hand in, then copy them to celluloid later (after getting feedback from me).

6 An undirected graph G consists of a set V of vertices and a set E of edges where each edge in E is associated with an unordered pair of vertices from V. The degree of a vertex v is the number of edges incident to v. If (u, v) is in E then u and v are adjacent. A simple graph has no loops or multiple edges. Exercise: prove by induction that a simple graph G on n vertices has at most n(n-1)/2 edges.

7 Internet taken from: org/asmap.png

8 Travelling Salesman From: Ehsan Moeinzadeh Guildford, Surrey, United Kingdom

9 Graphs representing chemical molecules

10

11 Data Structures for Graphs How can graphs be stored in the computer? How does this affect the time complexity of algorithms for graphs?

12 A cycle of a graph is an alternating sequence of vertices and edges of the form v 0, (v 0, v 1 ), v 1, (v 1, v 2 ), v 2, (v 2, v 3 ), …,v k-1, (v k-1, v k ), v k where except for v 0 = v k the vertices are distinct. Exercise: define path, define connected. A tree is a connected graph with no cycles. A subgraph H of a graph G is a graph with V(H)  V(G) and E(H)  E(G). H is spanning if V(H) = V(G). Spanning tree- spanning subgraph which is a tree.

13 Strange Algorithms Input: a graph G Question: does G have a spanning tree? This can be answered by computing a determinant of a matrix and checking to see if it is zero or not. For lower bound arguments, it is essential to not make too many assumptions about how an algorithm can solve a problem.

14 Adjacency matrix:

15 Adjacency list:

16 Adjacency lists: Lists can be stored: 1.sorted, 2.in arbitrary order, 3. in some other specific order- for example a rotation system has the neighbours of each vertex listed in clockwise order in some planar embedding of a graph (a picture drawn on the plane with no edges crossing).

17 Data structures for graphs: n= number of vertices m= number of edges Adjacency matrix: Space θ(n 2 ) Adjacency list: Space θ(n + m) How long does it take to do these operations: 1.Insert an edge? 2.Delete an edge? 3.Determine if an edge is present? 4.Traverse all the edges of a graph?