이 기사는 두 그래프 접근 방식을 모두 사용하여 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
그래프에 대한 자세한 내용은 아래 링크를 확인해주세요.
Javascript를 이용한 그래프 데이터 구조
위 내용은 Javascript를 사용하는 그래프의 BFS 및 DFS만의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!