Graph Theory ITEC 320 Lecture 21. Graph Theory Review Higher level usage of pointers –Factories –Flyweight –Disk pool Rationale Benefits / Downsides.

Slides:



Advertisements
Similar presentations
Lecture 15. Graph Algorithms
Advertisements

Problem solving with graph search
CSE 390B: Graph Algorithms Based on CSE 373 slides by Jessica Miller, Ruth Anderson 1.
DIJKSTRA’s Algorithm. Definition fwd search Find the shortest paths from a given SOURCE node to ALL other nodes, by developing the paths in order of increasing.
Visibility Graph Team 10 NakWon Lee, Dongwoo Kim.
IKI 10100: Data Structures & Algorithms Ruli Manurung (acknowledgments to Denny & Ade Azurat) 1 Fasilkom UI Ruli Manurung (Fasilkom UI)IKI10100: Lecture10.
CS 206 Introduction to Computer Science II 03 / 27 / 2009 Instructor: Michael Eckmann.
Graph Searching CSE 373 Data Structures Lecture 20.
Breadth-First Search Seminar – Networking Algorithms CS and EE Dept. Lulea University of Technology 27 Jan Mohammad Reza Akhavan.
CS 206 Introduction to Computer Science II 11 / 07 / 2008 Instructor: Michael Eckmann.
Graphs By JJ Shepherd. Introduction Graphs are simply trees with looser restrictions – You can have cycles Historically hard to deal with in computers.
ITEC 320 Lecture 12 Higher level usage of pointers.
Advanced Data Structures
C++ Programming: Program Design Including Data Structures, Third Edition Chapter 21: Graphs.
Graphs CS-240/341. Graphs Used for representing many-to-many relationships –can take two forms directed (digraph) - a finite set of elements called vertices.
Graphs CS-240/341. Uses for Graphs computer networks and routing airline flights geographic maps course prerequisite structures tasks for completing a.
CS 206 Introduction to Computer Science II 11 / 10 / 2008 Instructor: Michael Eckmann.
CS 206 Introduction to Computer Science II 11 / 03 / 2008 Instructor: Michael Eckmann.
CS 206 Introduction to Computer Science II 11 / 05 / 2008 Instructor: Michael Eckmann.
CS 206 Introduction to Computer Science II 03 / 25 / 2009 Instructor: Michael Eckmann.
New Algorithm DOM for Graph Coloring by Domination Covering
CS 206 Introduction to Computer Science II 03 / 30 / 2009 Instructor: Michael Eckmann.
Graphs Chapter 28 Copyright ©2012 by Pearson Education, Inc. All rights reserved.
Chapter 9 – Graphs A graph G=(V,E) – vertices and edges
Computer Science 112 Fundamentals of Programming II Introduction to Graphs.
Graph Theory in Computer Science
Representing and Using Graphs
Mapping City Wide Travel Times Andrew Hardin. Project Goal Encouraging alternate transportation – NYC- Bike Share – Boulder’s Transportation Management.
Nyhoff, ADTs, Data Structures and Problem Solving with C++, Second Edition, © 2005 Pearson Education, Inc. All rights reserved Graphs.
ITEC 320 Lecture 19 Higher level usage of pointers.
Michael Walker. From Maps to Graphs  Make Intersections Vertices  Make Roads Edges  Result is Weighted Directed Graph  Weights: Speed Limit Length.
Topic 12 Graphs 1. Graphs Definition: Two types:
Graph Theory Trees. WHAT YOU WILL LEARN Trees, spanning trees, and minimum-cost spanning trees.
Graph. Graph Usage I want to visit all the known famous places starting from Seoul ending in Seoul Knowledge: distances, costs Find the optimal(distance.
Strongly Connected Components for Directed Graphs Kelley Louie Credits: graphs by /demo/graphwin/graphwin.
Chapter 20: Graphs. Objectives In this chapter, you will: – Learn about graphs – Become familiar with the basic terminology of graph theory – Discover.
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.
Graph Representations And Traversals. Graphs Graph : – Set of Vertices (Nodes) – Set of Edges connecting vertices (u, v) : edge connecting Origin: u Destination:
Graph Theory Def: A graph is a set of vertices and edges G={V,E} Ex. V = {a,b,c,d,e} E = {ab,bd,ad,ed,ce,cd} Note: above is a purely mathematical definition.
1 3/21/2016 MATH 224 – Discrete Mathematics First we determine if a graph is connected.
Data Structures and Algorithms Lists, Stacks, Queues, and Graphs Sorting and searching algorithms.
DATA STRUCTURE Presented By: Mahmoud Rafeek Alfarra Using C# MINISTRY OF EDUCATION & HIGHER EDUCATION COLLEGE OF SCIENCE AND TECHNOLOGY KHANYOUNIS- PALESTINE.
CSE 373 Data Structures and Algorithms
Graphs Chapter 20.
Graphs -An abstract way of representing connectivity using nodes (also called vertices) and edges vertices edges directed undirected - weighted.
Csc 2720 Instructor: Zhuojun Duan
Discrete Math 2 Weighted Graph Search Tree
CC 215 Data Structures Graph Searching
Algorithms for Exploration
Graph.
Refresh and Get Ready for More
Enumerating Distances Using Spanners of Bounded Degree
Graphs Representation, BFS, DFS
Introduction to Graph Theory Euler and Hamilton Paths and Circuits
Graphs Chapter 11 Objectives Upon completion you will be able to:
4-4 Graph Theory Trees.
CSE 214 – Computer Science II Graph Walking
Yan Shi CS/SE 2630 Lecture Notes
Graphs Part 2 Adjacency Matrix
Tree Searching.
Graph Theory By Amy C. and John M..
A path that uses every vertex of the graph exactly once.
CSE 373 Data Structures Lecture 16
CSE 373: Data Structures and Algorithms
Algorithms Lecture # 29 Dr. Sohail Aslam.
Richard Anderson Winter 2009 Lecture 6
GRAPHS G=<V,E> Adjacent vertices Undirected graph
Tree Searching.
Tree Searching.
Tree Searching.
Presentation transcript:

Graph Theory ITEC 320 Lecture 21

Graph Theory Review Higher level usage of pointers –Factories –Flyweight –Disk pool Rationale Benefits / Downsides

Graph Theory Outline Rationale Definition Methods of implementation Algorithms

Graph Theory Cell phones How do they work (communication side)

Graph Theory Cell Networks

Graph Theory Other scenarios Computer networks Google maps Facebook friends Gaming

Graph Theory Rationale How do you model a cell phone network on a computer? Why would you want to simulate a cell phone network?

Graph Theory Graphs Composed of vertices and edges Vertices –Represent an object in a graph Edges –A connection between two vertices

Graph Theory Variations Weighted graph –Toll road –Hotel cost –Identifiers Possible usage scenarios?

Graph Theory Methods of implementation Arrays Pointers Benefits of each approach Downsides of each approach

Graph Theory Code Should we use a package? What about generics?

Graph Theory Searching How do you find information in a graph? Destination Start

Graph Theory Breadth first For each node I am connected to –Is this the node I’m looking for? If I didn’t find it –For each node I am connected to Call breadth first search on it

Graph Theory Depth first If I am the node searched for, stop and return For each node I am connected to –Call depth first search on that node

Graph Theory Issues What are some of the issues that might happen with searching? How do you implement each way? –Stacks / Recursion / Packages / ?

Graph Theory More How do you pick the best path? –Lowest cost –Highest cost –Cover all points with least overlap

Graph Theory Summary Rationale for graph theory Approach Finding algorithms