#GraphJS
nodejs
npm install mathgraph
browser
<script src="path/to/underscore.js"></script>
<script src="path/to/graph.js"></script>
Create a new directed graph from a list
var graph = new GraphJS([
{ id: 1, data: 'a', link: 2 },
{ id: 2, data: 'b', link: [1, { id: 3, weight: 5 }] },
{ id: 3, data: 'c', link: 1 }
]);
##Methods
###get
returns reference to node with the given id.
var node = graph.get(1);
###depthFirstSearch
returns reference to first node satisfying the callback
var node = graph.depthFirstSearch(function (node) {
return node.data === 'a';
});
###getStronglyConnectedComponents
See Tarjan's algorithm for strongly connected components.
var components = graph.getStronglyConnectedComponents();
###hasCycles
Tells you wether the graph has any cycles
var doesGraphHaveCycles = graph.hasCycles();
###isForest
var isGraphAForest = graph.isForest();
###isConnected
Are all vertices connected to each other in some way.
var isGraphConnected = graph.isConnected();
###isTree
Is graph a connected forest.
var isGraphATree = graph.isTree();