我有一个包含节点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");
}
});
但这是实现这一目标的最有效算法吗?
答案 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;