在JavaScript中将邻接矩阵转换为邻接表可以通过以下步骤实现:
以下是示例代码:
function convertMatrixToAdjacencyList(matrix) {
const adjacencyList = {};
for (let i = 0; i < matrix.length; i++) {
const neighbors = [];
for (let j = 0; j < matrix[i].length; j++) {
if (matrix[i][j] !== 0) {
neighbors.push(j);
}
}
if (neighbors.length > 0) {
adjacencyList[i] = neighbors;
}
}
return adjacencyList;
}
// 示例邻接矩阵
const adjacencyMatrix = [
[0, 1, 0, 1],
[0, 0, 1, 0],
[1, 0, 0, 1],
[0, 0, 0, 0]
];
const adjacencyList = convertMatrixToAdjacencyList(adjacencyMatrix);
console.log(adjacencyList);
输出结果为:
{
0: [1, 3],
1: [2],
2: [0, 3]
}
这个示例将邻接矩阵转换为了邻接表。其中邻接矩阵表示了一个有向图,矩阵中的每个元素代表两个顶点之间是否存在边,0表示无边,非零值表示有边。邻接表以顶点索引为键,对应的相邻顶点索引组成的数组为值。
此外,关于这个问题,腾讯云并没有特定的产品或产品介绍链接与之关联。
领取专属 10元无门槛券
手把手带您无忧上云