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.
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.
A grid graph is also known as a lattice graph, in which the graph can be embedded in R^n with a regular tiling. A square grid that is shown in the post is yet a more specific type of lattice graph.[1]
Though the if one uses a square grid graph in which you move around from tile to tile, you are actually traversing the dual graph of the tiled visualization.[2]
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.
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".
[1]: http://community.topcoder.com/tc?module=Static&d1=tutori... [2]: http://community.topcoder.com/tc?module=Static&d1=tutori...