本文是圖的一個簡單部分,我們只是使用兩種圖方法進行 BFS 和 DFS 遍歷
const adjMatrix = [ [0, 1, 1, 0, 0], [1, 0, 0, 1, 0], [1, 0, 0, 0, 1], [0, 1, 0, 0, 1], [0, 0, 1, 1, 0] ]; const BFS = () => { const q = [0]; const visited = [0]; let path = ''; while(q.length) { const value = q.shift(); path += value; for(let j = 0; j< adjMatrix.length; j++) { // j Means the Node present / not in visited List if (adjMatrix[value][j] && visited.indexOf(j) < 0) { q.push(j); visited.push(j); } } } console.log(path); } BFS(); // 01234
const adjList = { 0: [1, 2], 1: [0, 3], 2: [0, 4], 3: [1, 4], 4: [2, 3] } const DFS = () => { const stack = [0]; const visited = [0]; let path = ''; while(stack.length) { const value = stack.pop(); path += value; for(let item of adjList[value]) { if (visited.indexOf(item) < 0) { stack.push(item); visited.push(item); } } } console.log(path); } DFS();// 02431
有關 Graph 的更詳細文章,請隨時查看以下連結。
使用 Javascript 繪製資料結構圖
以上是僅使用 Javascript 在圖中進行 BFS 和 DFS的詳細內容。更多資訊請關注PHP中文網其他相關文章!