
Introduction to Graph Theory: Finding The Shortest Path (Part 2) - mburst
http://maxburstein.com/blog/intro-to-graph-theory-finding-shortest-path-part2/
======
imslavko
Why not Topcoder[1][2] tutorials? They are very inclusive, comprehensive and
are not written in Ruby.

[1]:
[http://community.topcoder.com/tc?module=Static&d1=tutori...](http://community.topcoder.com/tc?module=Static&d1=tutorials&d2=graphsDataStrucs2)
[2]:
[http://community.topcoder.com/tc?module=Static&d1=tutori...](http://community.topcoder.com/tc?module=Static&d1=tutorials&d2=graphsDataStrucs3)

~~~
dan1234
Is there a particular problem with them being written in Ruby?

~~~
imslavko
Probably not but I do not know anything in Ruby. I feel like C++ or Java is
something everybody can read (a lot of people take them in University). My
personal opinion.

------
revelation
Why would you call a Grid a Graph? A Graph consists of vertices and edges.

That doesn't seem reasonable for something like "Introduction to Graph
Theory".

~~~
yk
And a grid consists also of vertices and edges ;)

So a grid is certainly a very special graph, with a lot of additional
structure, but it is also a lot easier to visualize than some abstract Markov
chain.

~~~
yolesaber
What would a heuristic function look like for a "regular" graph (I.e. graphs
as the data structures used for learning bfs, dfs, &c) then? I understand A*
in terms of the grid what with the x and y distance, but how would
implementing distance work in a non-grid graph? I feel as though it would just
be taking the weights of edges and/or nodes. And if that's the case, then it
essentially regresses to being Dijkstra's.

~~~
revelation
Any real world application for these algorithms will have the graph embedded
in some kind of coordinate system. Euclidean distance is a popular heuristic
given how it maps to the real world idea of "distance".

