性能方法我有一個鄰接表如下圖所示:轉換鄰接表來鏈接,無向圖
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);
})
我想知道是否有更好的方式來解決這樣的任務對大規模陣列。