2016-07-06 3 views
0

그래프에서 두 정점 사이의 최적 경로를 찾을 수있는 알고리즘을 원합니다 (양수 int 가중치 포함). 내 그래프가 비교적 큽니다 (최대 100 정점). 나는 dijkstra 알고리즘을 고려해 보았습니다. 그러나 넷을 검색 할 때 대부분의 구현은 내 경우에 100x100이 될 인접 매트릭스를 사용합니다.그래프의 지점 간 경로

특정 소스를 읽고 배우고, 나에게 C++ 구현을 제공하는 것이 좋습니다.

PS : 알고리즘은 두 점 사이의 최단 거리뿐만 아니라 필요한 경로를 출력해야합니다.

감사합니다.

+1

방법에 대한 [A * 알고리즘 (https://en.wikipedia.org/wiki/A*_search_algorithm) - 그것은 익스트라과 욕심 알고리즘에서 최선을 다한다 많은 비디오 게임에서 사용됩니다. 여기에 C++ 구현이 있습니다 : http://code.activestate.com/recipes/577457-a-star-shortest-path-algorithm/ – bashis

+0

자, 예전에 알려 드리겠습니다. 튜토리얼과 함께 구현 사례를 발견했습니다. 감사합니다. –

답변

1

A*을 들여다 보았습니까?

여기 시작하는 좋은 기사의 읽기 : http://www.redblobgames.com/pathfinding/a-star/introduction.html

+0

위키 피 디아 (wikipedia)에서 제공하는 의사 코드를 사용하여 A * 알고리즘을 구현했습니다. 제대로 작동하는 것으로 보이지만 좀 더 구체적으로 의사 코드의 작은 부분을 이해할 수 없어 재검사 기능이 무엇인지 이해할 수 없습니다. 배열 인 total_path가 무엇입니까? 이 특정 기능을 약간 설명하면 좋을 것입니다. [Wikipedia] (https://en.wikipedia.org/wiki/A*_search_algorithm) –