4.0.0 • Published 5 years ago

depth-first v4.0.0

Weekly downloads
16
License
MIT
Repository
github
Last release
5 years ago

depth-first travis 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