[Algorithm Notes] Single-Source Shortest Path Problem — Dijkstra's Algorithm (Unoptimized/Priority Queue/Set Optimized)