/ / Dijkstra의 알고리즘 및 구현

Dijkstra의 알고리즘 및 구현

В математической науке и информатике существует 그래프 이론이라는 별도의 방향. 프레임 워크 내에서, 예를 들어 피크 사이의 최단 경로를 찾는 것과 같은 다양한 문제가 제기되고 해결됩니다. 이 문제를 해결하기 위해 수학자 사이에 널리 퍼져있는 방법 중 하나는 오랫동안 Dijkstra의 알고리즘이었습니다.

dijkstra 알고리즘
수학적 그래프 란?

Считается, что понятие графа было введено в 레너드 오일러의 18 세기 일상 이 이론의 고전적 문제 중 하나 인 Koenigsberg의 7 대 다리의 공식화와 해결책을 제시 한 사람은 바로 그 사람이었습니다. 이 이론의 목적을 설명하기 위해, 그들은 종종 다른 도시들 사이의 움직임과 같은 비유를 사용합니다. 그런 다음 평면의 그래프는 전체 경로 체계를 나타내며, 여기서 점은 특정 점 (예 : 도시)이되고 가장자리는 한 피크에서 다른 피크 (도시 간 도로와 유사)까지의 경로가됩니다. Dijkstra의 알고리즘은 다른 방법으로이 문제에 대한 해결책을 제공 할 수 있습니다.

delphi dijkstra의 알고리즘
최단 경로 찾기

그래프 이론의 표준 문제 중 하나는두 지점 사이의 비용 효율적인 경로를 결정해야합니다. 평면에서 정점 (도시)이 가능한 도로 인 가장자리로 연결되는 그래프의 솔루션으로 축소 할 수 있습니다. 또한 각 도로에는 고유 한 길이가 있으므로 일정 자금을 도로를 따라 여행하는 데 사용해야합니다. 이 합계는 그래프의 간선 가중치와 동일합니다. 그런 다음 실제로 문제는 다음과 같이 공식화 될 수 있습니다. 도로에서 최소한의 자금을 사용하기 위해 한 도시에서 다른 도시로가는 길을 어떻게 포장 할 수 있습니다.

솔루션

이 문제를 해결하기 위해과학계에서 널리 알려진 알고리즘입니다. 예를 들어, Floyd-Warshall, Ford-Bellman 알고리즘. Dijkstra의 알고리즘은 솔루션을 찾는 고전적인 방법이기도합니다. 가중치가있는 (각 간선의 가중치를 알고 있음) 그래프와 희소 그래프 모두에 사용할 수 있습니다. 최종 경로를 찾으려면 여러 단계를 거쳐야합니다.

Dijkstra의 알고리즘

이 방법의 의미는모든 정점은 주어진 정점에서 시작하여 순회되며 각각에는 값이있는 레이블이 할당됩니다. 그런 다음 결과에는 레이블이 최소 인 정점이 포함됩니다. 첫 번째 단계에서 원래 정점에는 값이 0 인 레이블이 지정됩니다. 그런 다음 다음 모든 정점, 즉 원본에서 도달 할 수있는 정점을 고려합니다. 레이블이 지정되며 그 값은 소스 및 경로 가중치의 합으로 결정됩니다. 다음 단계의 정점에서 가장 작은 레이블 값을 가진 정점을 선택하고 중간 정점을 사용하지 않고 도달 할 수있는 모든 정점을 연구합니다. 소스 정점 레이블에 경로 가중치를 더한 값과 동일한 새 레이블 값이 결정됩니다. 수신 된 값이 정점 레이블보다 작 으면 레이블이 변경됩니다. 그렇지 않으면 원래 값이 유지됩니다. 이 경우 크기가 그래프의 정점 수와 같은 별도의 배열에 최적화 결과가 저장되어 경로가 결정됩니다. Dijkstra의 알고리즘과 같은 방법을 구현하기 위해 Pascal은 매우 편리한 도구를 제공합니다. 이 알고리즘은 크기가 작은 프로그램의 기반으로 쉽게 사용할 수 있다는 장점이 있습니다. 이러한 소프트웨어 제품의 예는 인터넷에서 쉽게 찾을 수 있습니다.

dijkstra의 알고리즘 파스칼
최적의 경로를 찾는 문제를 해결하려면다양한 수단을 사용할 수 있습니다. Dijkstra의 알고리즘과 같은 솔루션의 경우 Delphi를 사용하면 초기 데이터를 입력하고 최종 결과를 출력하기위한 시각적으로 편리한 형식을 만들 수 있습니다.

좋아요 :
0
인기 게시물
영적 개발
음식
예