Dijkstra's Algorithm - A step by step analysis, with sample Python code