Hello World!
I am writing a blog post after long time. I was quite a busy these days. One day I thought of developing a game in JavaScript. The game design was such that it required graph algorithms implementation in JS. I googled but found nothing suitable for my work. So I though of implementing my own Graph Algorithms Library in JavaScript.This post is in regard to Graph.js ( Github Repo ) – a lite weight JavaScript Graph Algorithms Library. Graph.js is easy to use , change and debug. All the algorithms present in it are efficient in terms of space and time complexity.
Algorithms implemented
- Depth First Search
- Breadth First Search
- Dijkstra – Shortest Distance between two nodes
- Bellman Ford – Shortest Distance between two nodes.
- Johnson’s Algorithm for all pair shortest path.
- Prim’s Algorithm for minimum spanning tree of Undirected complete graph.
How to use
Just include graph.js file in your application .
If you want to build the file from the source code you can just run the make command from the top level directory of the project.
Future Additions to the project
- Implement more algorithms like clustering , max flow , bipartite matching , random graph generation.
- Add some test suite ( Preferably QUnit )
- Add a graph visualizer ( Big Enhancement)
- Some very good code examples of the usage of library.
Note : You can visit Github Repo for example code and other information. As the library is in nascent stage you can find errors . Feel free to fork , make pull requests and report errors.
regards,
I was watching your library and I think it is very well developed and has much potential, I would like to use in a personal development project but I have a doubt the method dijkstra(graph, sorceNode, DestinationNode); the only returns the number of elements? not return path?, its not have the ability to specify the path of the nodes? example:
A-B-C-E
\ /
\ /
F
A -> E return A-F-E
excuse my English and thanks
LikeLike
ya you are right. maybe you can add that feature if you want
LikeLike
thanks, the implementation is awesome 😉
LikeLike