Most articles about Dijkstra algorithm only focus on which data structure should be used to perform the "relaxing" of nodes.

I'm going to use a min-heap which runs on `O(m log(n))` I believe.

My real question is what data structure should I used to store the adjacent nodes of each node?
I'm thinking about using an adjacency list because I can find all adjacent nodes on `u` in `O(deg(u))`, is this the fastest method?

How will that change the running time of the algorithm?