laat / depth-first

Depth first search directed graphs

Repository from Github https://github.comlaat/depth-firstRepository from Github https://github.comlaat/depth-first

depth-first npm

Depth first search directed graphs

Install

$ npm install --save depth-first

Usage

We want to traverse the following graph.

demo graph

import dfs from "depth-first";

// First, we define our edges.
const edges = [
  ["put on your shoes", "tie your shoes"],
  ["put on your shirt", "put on your jacket"],
  ["put on your shorts", "put on your jacket"],
  ["put on your shorts", "put on your shoes"]
];

// List the vertices that can be reached starting at 'put on your shirt'
dfs(edges, "put on your shirt");
/* =>
[
  'put on your shirt',
  'put on your jacket',
]
*/

Reverse edges

// List the vertices that can be reached starting at 'put on your jacket' when
// the edges are reversed
dfs(edges, "put on your jacket", { reverse: true });
/* =>
[
  'put on your jacket',
  'put on your shirt',
  'put on your shorts',
]
*/

Inspired by

This package uses the same data structure as toposort

License

MIT © Sigurd Fosseng

About

Depth first search directed graphs

License:MIT License


Languages

Language:TypeScript 94.6%Language:JavaScript 5.4%