title: How does Dijkstra's Shortest Path Algorithm work with Priority Queues?
body: <p>I have been reading online websites and everybody says that using a priority queue will make it good, but I don't understand what is used as the "priority" here.</p>
  
  <p>At the very beginning, is the first item on the priority queue always the starting point node? If so, when we extract the starting node with distance 0, how do we get its neighbors from the priority queue?</p>