@mishieck/graph-js
v0.7.0
Published
A TypeScript library for graph data structures.
Maintainers
Readme
GraphJs
A TypeScript library for graph data structures.
Features
Data Structures
The data structures available include:
Traversal
The nodes support the following traversal algorithms:
Installation
NPM
npm install @mishieck/graph-jsBun
bun install @mishieck/graph-jsUsage
import { Node, Traversal } from "@mishieck/graph-js";
const leftOfLeft = Node.fromData(4); // `new Node({ data: 4, neighbors: [] })`
const rightOfLeft = Node.fromData(5); // `new Node({ data: 5, neighbors: [] })`
const leftOfRight = Node.fromData(6); // `new Node({ data: 6, neighbors: [] })`
const rightOfRight = Node.fromData(7); // `new Node({ data: 7, neighbors: [] })`
const left = new Node({
data: 2,
neighbors: [leftOfLeft, rightOfLeft],
});
const right = new Node({
data: 3,
neighbors: [leftOfRight, rightOfRight],
});
// `new Node({ data: 1, neighbors: [left, right] })`
const root = Node.fromTuple(1, [left, right]);
let data = [...root.traverse(Traversal.LevelOrder)].map(({ data }) => data);
console.log(data); // [1, 2, 3, 4, 5, 6, 7]
data = [...root.traverse(Traversal.PostOrder)].map(({ data }) => data);
console.log(data); // [4, 5, 2, 6, 7, 3, 1]
data = [...root.traverse(Traversal.PreOrder)].map(({ data }) => data);
console.log(data); // [1, 2, 4, 5, 3, 6, 7]