0
그래프를 탐색하고 싶습니다.자바 스크립트 - 그래프 순회 - 최단 경로 복귀
var Node = function(name) {
this.edge_list = [];
this.name = name;
};
및
var Graph = function() {
this.node_list = [];
};
에지가과 같이 노드에 추가됩니다 :
Node.prototype.addEdge = function(end, distance) {
this.edge_list.push({end, distance});
};
그래프는 다음과 같습니다
start:
[ Object { end: '1', distance: 13 },
Object { end: '2', distance: 14 } ]
1:
[ Object { end: 'start', distance: 13 },
Object { end: '3', distance: 2 } ]
2:
[ Object { end: 'start', distance: 14 },
Object { end: '3', distance: 1 } ]
3:
[ Object { end: '1', distance: 2 },
Object { end: '2', distance: 1 },
Object { end: 'end', distance: 10 } ]
end:
[ Object { end: '3', distance: 10 } ]
나는 두 구조를 가지고
내가하고 싶은 것은 함수를 만드는 것이다. source
에서 target
까지의 최단 거리/경로를 반환합니다.
나는 현재 거리가 긍정적 인 경우에, 다 익스트라가 갈 수있는 방법입니다 https://repl.it/C6Fh
먼저 깊이 우선 검색 알고리즘을 먼저 살펴보십시오. 그런 다음 Dijkstra의 알고리즘 (https://en.wikipedia.org/wiki/Dijkstra%27s_algorithm)을 살펴보십시오. – httpNick