Fibonacci Heap - Graph Shortest Path

This lecture is based on Standford CS106B: Programming Abstractions

  1. Motivation
  1. What is graph?
  1. Characteristics of graph
  1. Graph terminologies
  1. Loops and circles
  1. Breadth First Search
  1. Dijkstra’s Algorithm
  1. Example with the table method
Setup
Basic Dijkstra Algorithm
  1. Find the shortest distance to the start from the un-seen nodes.
  2. Look at this node’s neighbors, and update the total distance to the neighbors based on their distance and the distance already to this node.
  3. If the node visited is the destination, stop
  4. Repeat from step 1.
Starting table
  SJ A B C D E F G SF
Distance to SJ 0
Previous -                
Seen? N N N N N N N N N
Step 1: SJ
  SJ A B C D E F G SF
Distance to SJ 0 5 10
Previous - SJ SJ            
Seen? Y N N N N N N N N
Step 2: SJ-A
  SJ A B C D E F G SF
Distance to SJ 0 5 10 205 45
Previous - SJ SJ A   A      
Seen? Y Y N N N N N N N
Step 3: SJ-B
  SJ A B C D E F G SF
Distance to SJ 0 5 10 18 45 30
Previous - SJ SJ B   A   B  
Seen? Y Y Y N N N N N N
Step 4: SJ-B-C
  SJ A B C D E F G SF
Distance to SJ 0 5 10 18 31 45 30
Previous - SJ SJ B C A   B  
Seen? Y Y Y Y N N N N N
Step 5: SJ-B-C-G
  SJ A B C D E F G SF
Distance to SJ 0 5 10 18 31 45 32 30 48
Previous - SJ SJ B C A G B G
Seen? Y Y Y Y N N N Y N
Step 6: SJ-B-C-D
  SJ A B C D E F G SF
Distance to SJ 0 5 10 18 31 32 32 30 48
Previous - SJ SJ B C D G B G
Seen? Y Y Y Y Y N N Y N
Step 7: SJ-B-C-D-E
  SJ A B C D E F G SF
Distance to SJ 0 5 10 18 31 32 32 30 48
Previous - SJ SJ B C D G B G
Seen? Y Y Y Y Y Y N Y N
Step 8: SJ-B-C-G-F
  SJ A B C D E F G SF
Distance to SJ 0 5 10 18 31 32 32 30 33
Previous - SJ SJ B C D G B G
Seen? Y Y Y Y Y Y Y Y N
Step 9: SJ-B-C-G-F-SF
  SJ A B C D E F G SF
Distance to SJ 0 5 10 18 31 32 32 30 33
Previous - SJ SJ B C D G B G
Seen? Y Y Y Y Y Y Y Y N