ホームページ >ウェブフロントエンド >jsチュートリアル >Javascript を使用したグラフ内の BFS と DFS のみ
この記事は、グラフの両方のアプローチを使用して 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 中国語 Web サイトの他の関連記事を参照してください。