JS 알고리즘 23일차 - 다익스트라(Dijkstra)


JS 알고리즘 23일차 - 다익스트라(Dijkstra)

가중치 그래프 일발 그래프에서 가중치를 추가로 넣어주면 된다. class WeightedGraph { constructor() { this.adjacencyList = {}; } addVertex(vertex) { if (!this.adjacencyList[vertex]) this.adjacencyList = []; } addEdge(vertex1, vertex2, weight) { this.adjacencyList[vertex1].push({node:vertex2, weight}); this.adjacencyList[vertex2].push({node:vertex1,weight}) } } 다익스트라 알고리즘 소개 시작점에서 출발해 새로운 노드에 방문을 한다. 가장 작은 거리 값을 가진 노드를 골라서 먼저 방문한다. 방문한 노드의 인접한 점들을 보면서 각각에 대해 A에서 해당 인접점까지의 거리를 함을 내어 구한다. 우리가 현재 알고 있는 것보다 더 적은 거리 값이 나오면 최신화 해준...


#Dijkstra #JavaScript #가중치그래프 #다익스트라 #알고리즘 #자료구조 #최소경로

원문링크 : JS 알고리즘 23일차 - 다익스트라(Dijkstra)