c ++ boost库astar搜索树实现

时间:2017-12-07 22:52:31

标签: c++ boost a-star

我正在尝试将A *搜索树实现到项目中,但我不了解如何创建我的启发式类。我已经在我的图上成功实现了Dijkstra和Prim的函数,但是我对如何创建启发式类并调用astar函数感到茫然。任何帮助将不胜感激,这是我的完整代码到目前为止:

Vertices:
S,H,R,C,L
Edges
(S,C,39)
(R,S,86)
(L,S,74)
(C,H,55)
(R,C,126)
(L,C,68)
(R,H,111)
(L,R,56)
(H,L,97)
(S,H,27)

这是我将要呈现的示例输入文件:

class distance_heuristic : public astar_heuristic<Graph, double> {
public:
    distance_heuristic(string goal)
        : m_goal(goal) {}
    double operator()(string u) {
        return tempMap[m_goal].distance;
    }
private:
    string m_goal;
    map<string, Vertex> tempMap;
};

我对启发式课程的尝试:

     usersDatabaseRef.addValueEventListener(new ValueEventListener() {
            @Override 
            public void onDataChange(DataSnapshot dataSnapshot) {
                for(Datasnapshot snap2 : dataSnapshot.getChildren()){
                   String userId = snap2.getKey();
                }
            } 

            @Override 
            public void onCancelled(DatabaseError databaseError) {

            } 
        });

0 个答案:

没有答案