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.

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.

3 thoughts on “Graph.js – a Graph Algorithms Library in JavaScript”

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:

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