Directed Graphs Computer Science Engineering Otterbein University COMP
Directed Graphs Computer Science Engineering Otterbein University COMP 2100 Otterbein University
Alerts Computer Science Otterbein University o Lab 7 due Wednesday, 11/25 o Project #3 due Wednesday, 11/25 o Homework #6: available later this week o Final Exam: Friday, December 4 Exam will be available at 10 am, due by 2 pm
Directed Graphs Computer Science Otterbein University o If the edges are directed, things get more complicated
Applications Computer Science Otterbein University
Political Blogosphere Computer Science Otterbein University
Applications Computer Science Otterbein University
Implication Graph Computer Science Otterbein University
Combinatorial Circuit Computer Science Otterbein University
Digraph Applications Computer Science Otterbein University
Digraph Problems Computer Science Otterbein University
Digraph API Computer Science Otterbein University
Digraph Adjacency List Computer Science Otterbein University
Adjacency List Graph: Java Computer Science Otterbein University
Adjacency List Digraph: Java Computer Science Otterbein University
Reachability Computer Science Otterbein University The same DFS method we developed for graphs will work for a digraph Demo
Depth-1 st Search: Java Computer Science Otterbein University
Reachability Application Computer Science Otterbein University o Program Control-Flow Analysis Every program is a digraph Vertex: block Edge: jump o Dead-code elimination unreachable code o Infinite-loop detection is exit unreachable?
Reachability Application Computer Science Otterbein University o Mark-Sweep Garbage Collector Every data structure is a digraph Vertex: object Edge: reference o Roots: objects directly accessible by program o Reachable objects: those indirectly accessible [Mc. Carthy, 1960]
Breadth-1 st Search Computer Science Otterbein University o Again, the same BFS algorithm for graphs works for digraphs It computes the shortest directed path from a starting vertex s to every other vertex in time O(E+V) Demo o Multiple-source shortest path: Given a set of starting vertices rather than a single vertex Can be implemented using BFS where we initialize the queue to contain all the vertices in the set
BFS Application: Web-crawler Computer Science Otterbein University o Algorithm Choose web page as initial site Maintain a queue of URLs to explore Maintain a set of discovered URLs Dequeue the next URL and enqueue all the URLs that are contained in the web page at that address (avoiding cycles) o Why not use DFS?
Simple Java Web-crawler Computer Science Otterbein University
Simple Java Web-crawler Computer Science Otterbein University o What’s going on here?
- Slides: 22