javascript - 过滤与候选人有联系的图节点

标签 javascript graph-theory

我想过滤一个列表,以便我只得到有连接的节点,直接间接与候选人

  var candidate = 1;
  var data = [
    { source: 1, target: 2 }, // is connected with 1
    { source: 2, target: 3 }, // is connected with 1
    { source: 6, target: 9 }, // no connection
    { source: 12, target: 15 }, // no connection
    { source: 3, target: 2 }, // is connected with 1
    { source: 5, target: 3 }, // is connected with 1
  ]

我在寻找什么样的算法?

感兴趣的语言是 JavaScript - 据我所知,有些语言会以不同于其他语言的方式实现算法

最佳答案

广度优先搜索:

维护“可能”边列表(使用给定列表初始化)、“连接”边列表(初始化为空)和节点列表(初始化为仅包含“候选”)。

从节点列表中删除一个节点。
遍历 Maybe 列表,寻找那个节点;如果一条边包含该节点,则将另一个节点复制到节点列表中,并将该边移动到已连接列表中。
继续,直到节点列表为空。

关于javascript - 过滤与候选人有联系的图节点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39735807/

相关文章:

javascript - javascript中的全局变量?

dependencies - 源删除排序是否总是返回最大循环?

algorithm - 来自单个源顶点的最轻路径数

tree - 遍历图与遍历树

node.js - Javascript命名函数表达式,引用错误

javascript - 我应该取消绑定(bind)事件监听器以防止内存泄漏吗?

javascript - 为什么需要变量名 "$scope"?

c# - 有向图顶点子集的拓扑排序

algorithm - 双向图中的传递闭包

javascript - 如何在 JavaScript 中多次更改 div 的样式