图中唯一的节点对

时间:2016-11-21 09:05:59

标签: javascript graph nodes edges

我有一个包含节点A,B,C和这些节点之间多条边的图。

如何获得唯一对(A,B),(A,C),(B,C)?

一种算法可以说是

$('#from,#to').change(function() {
  var fromCityVal = $("#from").val();
  var toCityVal = $("#to").val();
  if (fromCityVal == toCityVal) {
    alert("city of origin may not be the same as the destination city!");
    $("#from").val("DPS");
    $("#to").val("BGK");
  }
});

但这是实现这一目标的最有效算法吗?

1 个答案:

答案 0 :(得分:2)

您可以迭代节点并在嵌套循环中仅迭代其余节点。



var nodes = ['A', 'B', 'C'],
    i, j,
    edges = [];

for (i = 0; i < nodes.length - 1; i++) {
    for (j = i + 1; j < nodes.length; j++) {
        edges.push([nodes[i], nodes[j]]);
    }
}

console.log(edges);
&#13;
&#13;
&#13;