【发布时间】:2017-03-29 12:25:50
【问题描述】:
我有一个如下的邻接列表:
const list = [
[1, 6, 8],
[0, 4, 6, 9],
[4, 6],
[4, 5, 8],
// ...
];
我需要为无重复的无向图创建一组链接(示例如下)。
[0,1] 和 [1,0] 等链接被视为重复链接。
const links = [
[ 0, 1 ], // duplicates
[ 0, 6 ],
[ 0, 8 ],
[ 1, 0 ], // duplicates
[ 1, 4 ],
// ...
]
现在我是这样做的:
const links = new Set;
const skip = [];
list.forEach( (v, i) => {
v.forEach( j => {
if (skip.indexOf(j) === -1) {
links.add([i, j]);
}
})
skip.push(i);
})
我想知道是否有更好的模式来解决大规模数组上的此类任务。
【问题讨论】:
标签: javascript data-structures graph