删除图中的传递边

时间:2016-11-23 17:24:53

标签: javascript algorithm graph nodes breadth-first-search

我有图表

enter image description here

因为我可以从1到2到3(即1到3到2),所以不需要从1到3的边缘。

因此,我想直接在1和3之间删除边缘。

我该怎么做?我想我应该先进行广度搜索,以决定从哪里开始。

所以,如果我拥有所有节点和边缘

nodes = [1, 2, 3]
edges = [
  {source: 1, target: 2},
  {source: 1, target: 3},
  {source: 2, target: 3}
]

我想删除

  {source: 1, target: 3},

因为传递性是不必要的,但我怎么能确定是否应该删除

  {source: 1, target: 3},

而不是

  {source: 2, target: 3}

1 个答案:

答案 0 :(得分:0)

您正在寻找图表的传递缩减this article should help