【发布时间】:2020-04-22 15:35:09
【问题描述】:
我想编写一个带有 3 个参数的 JavaScript 函数:二维数组形式的邻接矩阵、节点数和起始顶点。 函数返回邻接矩阵表示的图的BFS遍历。
function task24(mat,n,v){
let visited=new Array(n)
let queue=[]
let result=[]
while(queue.length!=0){
queue.push(v)
result.push(queue.pop())
for(i=0;i<n;i++){
visited[i]=0
}
let i=v
visited[i]=1
for(j = 0; j < n; j++) {
if(visited[j] == 0 && Adj[i][j] == 1) {
visited[j] = 1;
queue.push(j)
result.push(j)
i=queue.shift()
}
}
}
return result
}
console.log(task24([[0, 1, 0, 0], [0, 1, 1, 1], [1, 0, 0, 1], [0, 0, 1, 0]],4,2))```
【问题讨论】:
标签: javascript breadth-first-search adjacency-matrix