Graphs
This library contain an implementation of graph data structure
with various method that can be useful in operations by graphs.
Graphs can directed and undirected, weighted and unweighted.
So we have 4 variations and this library can works with them.
Install
npm install graphs-all
Getting Started
Import the library
var graphs = require("graphs-all");
var g = graphs.UndirectedUnweightedGraph();
g.addNode("A");
g.addLink("A", "B");
g.addLink("A", "C");
g.addLink("B", "C");
g.hasNode("C")
g.hasLink("B", "A")
g.removeLink("C", "A");
g.connectedWith("B")
Create a graph
You can create four variations of graphs with shortcuts functions:
var simpleGraph = graphs.UndirectedUnweightedGraph(),
directedGraph = graphs.DirectedUnweightedGraph(),
weightedGraph = graph.UndirectedWeightedGraph(),
complexGraph = graph.DirectedWeightedGraph();
Or with Graph
class:
new Graph(isDirected, isWeighted)
var simpleGraph = new graphs.Graph(false, false),
directedGraph = new graphs.Graph(true, false),
weightedGraph = new graphs.Graph(false, true),
complexGraph = new graphs.Graph(true, true);
Add nodes
Graph.addNode(nodeKey)
Add a node in the graph with key nodeKey
. If node is exist already,
then return false
, for successive addition returns true
.
simpleGraph.addNode("A")
simpleGraph.hasNode("B")
simpleGraph.hasNode("A")
Check nodes
Graph.hasNode(nodeKey)
Check is a node with key nodekey
in the graph
simpleGraph.hasNode("A")
simpleGraph.hasNode("E")
#TODO