
Understanding Dijkstra's Algorithm - exist
https://aos.github.io/2018/02/24/understanding-dijkstras-algorithm/
======
tomelders
I can highly reccomend the book “mazes for programmers” which introduces a lot
of graph related alorithms in a clear, accessible way.

Dijkstra’s algorithm is on page 36 and explained in 8 paragrpahs.

[https://media.pragprog.com/titles/jbmaze/first.pdf](https://media.pragprog.com/titles/jbmaze/first.pdf)

~~~
CraneWorm
bad taste, you give a link to 10 page version and tell people to look at p. 36

~~~
tomelders
Ah, ah ha. Hah. My bad.

------
superflyguy
"At its heart, Dijkstra’s algorithm is really only a modified bread-first
search."

First finish your bread, and only then attempt the search.

------
gbtw
The computerphile episode on this makes it quite clear as well.
[https://www.youtube.com/watch?v=GazC3A4OQTE](https://www.youtube.com/watch?v=GazC3A4OQTE)

------
fjfaase
I find Floyd–Warshall algorithm much more facinating. It took me almost 25
years to realize that it was different from the algorithm that I had deviced
myself for solving the problem.

Dijkstra's algorithm seems rather obvious to me, as I discovered it myself
after I head the problem description. A note in my diary seems to imply that I
implemented it in LISP.

~~~
1mike12
Wow

------
eximius
I felt similar to the first paragraph, that Dijkstra's algorithm was elevated
in so.e way.

Then I found out that Dijkstra's algorithm is 'just' A* where the heuristic
function is zero. :| Which is both incredibly simple and intuitive.

------
abhishekjha
This is a pretty good explanation. Putting nodes in a priority queue at each
stage is the trick here. I wish I had this explained in such a simple manner
earlier.

