@onesy/graph
v1.0.0
Published
Graph
Downloads
71
Maintainers
Readme
Getting started
Add
yarn add @onesy/graph
Use cases
- Social media network
- Maps, roads connections, GPS
- Search result relevancy algorithm
- etc.
Use
import OnesyGraph from '@onesy/graph';
// Make a new graph instance
const onesyGraph = new OnesyGraph({ weighted: true });
// Add nodes
onesyGraph
.addNode('a')
.addNode('b')
.addNode('c')
.addNode('d')
.addNode('e')
.addNode('f')
.addNode('g');
// Add connections
onesyGraph
.addConnection('a', 'b', 2)
.addConnection('a', 'c', 7)
.addConnection('b', 'd', 5)
.addConnection('c', 'd', 7)
.addConnection('d', 'e', 14)
.addConnection('d', 'f', 11)
.addConnection('e', 'f', 4)
.addConnection('f', 'g', 2)
.addConnection('e', 'g', 4);
// matrix
onesyGraph.array;
// [
// a b c d e f g
// a [0, 2, 7, 0, 0, 0, 0],
// b [2, 0, 0, 5, 0, 0, 0],
// c [7, 0, 0, 7, 0, 0, 0],
// d [0, 5, 7, 0, 14, 11, 0],
// e [0, 0, 0, 14, 0, 4, 4],
// f [0, 0, 0, 11, 4, 0, 2],
// g [0, 0, 0, 0, 4, 2, 0]
// ]
// Shortest path
onesyGraph.shortestPath('a', 'g');
// {
// distance: 20,
// path: 'a-b-d-f-g'
// }
Dev
Install
yarn
Test
yarn test
Prod
Build
yarn build