3 ms·
Understanding Dijkstra's Algorithm
- tomelders 9y agoI 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
- johnsonjo 9y agoYeah, it’s a good book with great visuals. The author, Jamis Buck, actually lives in my town. He visited my University and gave a lecture on generating a Zelda like over-world by using maze algorithms. It was an interesting application. Jamis writes in Ruby and helped with Ruby on Rails. He has a good blog too [1]. [1]: http://weblog.jamisbuck.org http://weblog.jamisbuck.org
- CraneWorm 9y agobad taste, you give a link to 10 page version and tell people to look at p. 36
- tomelders 9y agoAh, ah ha. Hah. My bad.
- gbtw 9y agoThe 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 9y agoI 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 9y agoWow
- superflyguy 9y ago"At its heart, Dijkstra’s algorithm is really only a modified bread-first search." First finish your bread, and only then attempt the search.
- eximius 9y agoI 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 9y agoThis 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.