我对柠檬图库(Lemon's Dijkstra的http://lemon.cs.elte.hu/pub/tutorial/a00009.html)中运行Dijkstra算法所需的一些参数有疑问。
要运行该算法,可以编写类似dijkstra(g, length).distMap(dist).run(s,t);
的内容,其中g
是图形,s
是起始节点,t
是目标节点。我的问题是length
和dist
是什么,以及它们是如何使用的。
谢谢!
答案 0 :(得分:1)
我读它的方式,它们都需要是地图,一到边长(输入) 一到顶点距离(输出),
同时检查lgf_demo.cc和dijkstra_test.cc 并注意
迪杰斯特拉&安培; distMap(DistMap& m)[inline]
设置存储由计算的节点的距离的地图 算法。如果在调用run()或之前不使用此函数 init(),将自动分配一个实例。析构函数 当然,释放这个自动分配的地图。
返回: (*此)
const DistMap& distMap()const [inline]
返回存储距离的节点映射的const引用 由算法计算的节点。
前提条件: 在使用此函数之前,必须先调用run()或init()。
所以这是你的Dijstra输出。