Lecture 25: Shortest Paths

10/23/2020

Graph Problems

BFS vs. DFS for Path Finding

Breadth FirstSearch for Google Maps

Dijkstra's Algorithm

Single Source Single Target Shortest Paths

Problem: Single Source Shortest Paths

Edge Count

Creating an Algorithm

Dijkstra's Algorithm

Dijkstra's Correctness and Runtime

Dijkstra's Algorithm Pseudocode

Guaranteed Optimality

Negative Edges

Dijkstra's Algorithm Runtime

A*

Single Target Dijkstra's

The Problem with Dijkstra's

How can we do better?

Introducing A*

A* Heuristic Example

A* Heuristics (Not covered in this class)

Heuristics and Correctness

Consistency and Admissibility (Beyond scope)

Summary

Summary: Shortest Paths Problems