그래프의 두 중심 사이의 주어진 경로가 최단 경로를 따르는지 확인하려면 신뢰할 수 있는 최단 경로 방식을 사용하여 주어진 경로를 따른 전체 가장자리 가중치를 동일한 중심 조합 간의 최단 거리와 비교할 수 있습니다. , Dijkstra 계산 또는 Floyd−Warshall 계산과 같은 것입니다. 주어진 경로의 모든 간선 가중치가 가장 제한된 삭제와 일치하면 이는 가장 간단한 경로를 나타냅니다. 또한: 전체 모서리 가중치가 최단 거리보다 더 두드러지면 그래프에서 두 중심 사이의 거리가 짧다는 것을 나타냅니다.
다익스트라 알고리즘
에지 반전 비용이 있는 Floyd−Warshall 알고리즘
Dijkstra의 계산은 아마도 그래프에서 소스 중심과 다른 모든 중심 사이의 가장 제한된 경로를 찾는 데 사용되는 인기 있는 그래프 순회 계산일 것입니다. 두 중심 사이의 주어진 경로가 최대 유한 경로와 관련되어 있는지 확인하는 경우 Dijkstra의 계산을 사용하여 이들 중심 사이의 최대 유한 분리를 계산할 수 있습니다. 시작 허브에서 Dijkstra의 계산을 실행하여 다른 모든 허브에 대해 가장 유한한 간격을 얻습니다. 주어진 경로가 두 허브 사이의 가장 제한된 거리와 일치하면 이는 실질적이고 최단 경로를 나타냅니다. 기타: 주어진 경로가 계산된 최단 거리보다 길면 차트에 더 짧은 경로가 있음을 나타냅니다.
최단 경로 생성(그래프, 소스, 대상):
중심까지의 거리를 저장하려면 "과거" 집합을 초기화하고, 가장 제한된 거리를 저장하려면 단어 참조 간격을 초기화하세요.
구분자 사전에서 소스 허브의 간격을 무한대로 설정하고 다른 모든 허브의 간격을 무한대로 설정합니다.
방문하지 않은 노드가 있지만
아. 구분 단어 참조로부터 가장 작은 거리를 가진 중심이 선택되고 방문한 것으로 표시됩니다.
b. 현재 노드의 각 이웃 허브에 대해:
현재 노드의 거리에 가장자리 가중치를 더하여 임시 간격을 계산합니다.
조건 간격이 보관 간격보다 작을 경우 검사 거리입니다.
분리의 소스에서 대상까지의 최단 거리가 주어진 경로 길이에도 불구하고 중단되는 경우 true를 반환합니다(주어진 경로는 최단 경로를 나타냅니다). 그렇지 않으면 false를 반환합니다.
이 계산은 Dijkstra의 방법을 활용하여 최단 간격을 계산한 다음 출발지에서 목적지까지의 최단 거리를 주어진 경로 길이와 비교하여 최단 경로인지 판단합니다.
numNodes x numNodes를 측정하는 2D 그리드를 만들고 모든 노드 세트에 대해 무한대(INF)로 초기화합니다.
dist의 모서리 간 추가를 0으로 설정합니다.
그래프에서 가중치 w가 있는 각 조정 간선(u, v)에 대해 dist[u][v]를 w로, dist[v][u]를 w w_reversal로 완전히 수정합니다. 여기서 w_reversal은 다음을 통해 얻은 반전입니다. 가장자리(v,u).
고정 루프 후 Floyd−Warshall 계산 수행:
numNodes에서 1까지의 각 중간 허브에 대해 다음을 수행합니다.
허브 i와 j의 각 집합에 대해 numNodes에서 1로 dist[i][j]를 최소값으로 개선합니다.
거리[i][j]
거리[i][k]거리[k][j]
계산이 완료된 후 dist에는 에지 반전 비용을 고려하여 모든 허브 그룹 간의 가장 제한된 분리가 포함됩니다.
두 허브(출발지와 목적지) 사이의 주어진 경로가 최단 경로인지 확인하려면 주어진 경로의 길이를 거리 [출발지][목적지]와 비교하세요. 그렇다면 주어진 방법은 가장 제한적인 방법이다.
이 글에서는 그래프의 두 중심 사이의 주어진 경로가 가장 유한한 경로를 나타내는지 확인하는 방법을 살펴봅니다. 이는 에지 반전을 얻기 위한 Dijkstra 계산과 Floyd-Warshall 계산의 두 가지 방법을 보여줍니다. C의 코드 사용법은 이러한 계산을 보여줍니다. 또한 계산과 그 용도에 대해 간략하게 설명합니다. 이 기사는 독자가 그래프에서 가장 제한된 방법을 찾는 방법을 이해하고 주어진 방법이 의심할 여지없이 가장 간단한지 판단하는 데 도움을 주기 위해 작성되었습니다.
위 내용은 주어진 그래프에서 두 노드 사이의 경로가 최단 경로를 나타내는지 확인합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!