계산 :부스트 :: 그래프 내 사용자 정의 그래프를 싸서 dijkstra_shortest_paths
struct EdgeItem{
int mPid1;
int mPid2;
double weight;
};
struct StationItem{
int mPid;
QString mName;
};
QMap<int, StationItem> StationsMap;
QList<EdgeItem> mEdgesList;
QVector<EdgeItem*> GetEdgesByPid(int Pid);
// and some other service methods
스테이션은 pid로 색인지도. MapLayerEdgeItem과 같은 그래프의 가장자리에는 가중치가 있습니다. 그래프의 데이터를 복사하거나 기존 구조를 사용할 필요가 없습니다. 나는 그것을 실행하고 dijkstra_shortest_paths를 계산할 필요가있다. 제가 시작해야 할 것을 제안하십시오.
[문서] (http://www.boost.org/doc/libs/1_57_0/libs/graph/doc/dijkstra_shortest_paths.html) 및 [예] (http://www.boost.org/)를 참조하십시오. doc/libs/1_57_0/libs/graph/example/dijkstra-example.cpp) – pbible
"Nix 프로그래머에게 화장지를 요청하면 도끼를주고 가장 가까운 숲을 보여줍니다." 부스트 워드 그래프와 함께 제공되는 예제는 매우 단순하며 모든 상황을 포함하지는 않습니다. 간단한 배열을 사용하여 샘플을 링크했습니다. 데이터를 다른 형식으로 복사하지 않고도 QMap 및 QList를 사용해야합니다. 고맙습니다. –
당신은 내가 시작해야 할 것을 제안 해 주시기 바랍니다. 나는 문서들과 예제가 훌륭한 곳이라고 생각한다. 내장 알고리즘을 사용하려면 부스트 그래프 인터페이스를 사용해야합니다. Dijkstra는 구현하기가 어렵지 않습니다. 내가 너라면 나 자신을 굴릴거야. 그렇지 않으면 인터페이스에 구조를 적용해야합니다. – pbible