0.1.0 • Published 11 years ago

graph-difference v0.1.0

Weekly downloads
-
License
-
Repository
-
Last release
11 years ago

#graph-difference Build Status

NPM

Find the subgraph difference between two nodes in a directed acyclic graph.

Given a node A the algorithm finds all nodes that are ancestors of B but are not ancestors from A.

##Example

The graph:

    4-5-8-9    11-12
   /   \   \  /     \
1-2-3---6-7-10-13-14-15-16
var graphDiff = require('graph-difference')

var nodes = {
  1: [],
  2: [1],
  ...
  15: [12, 14],
  16: [15]
}

var readParents = function(id, cb) {
  cb(null, nodes[id])
}

graphDiff(5, 7, readParents, function(err, result) {
  // result should be [7, 6, 3]
})