图算法中的最短路径与旅行商问题
1. 最短路径接口
1.1 函数原型
int shortest(Graph *graph, const PathVertex *start, List *paths, int (*match) (const void *key1, const void *key2));
1.2 返回值
- 若成功计算最短路径,返回 0。
- 否则,返回 -1。
1.3 描述
该函数用于计算有向加权图中从起始顶点到所有其他顶点的最短路径。此操作会修改图,如有需要,可在调用前复制图。图中的每个顶点必须包含 PathVertex 类型的数据。可以通过设置传递给 graph_ins_edge 的 PathVertex 结构的 weight 成员为每条边分配权重。使用 PathVertex 结构的 data 成员存储与顶点相关的数据,如标识符。图的 match 函数(在使用 graph_init 初始化图时由调用者设置)应仅比较 PathVertex 结构的 data 成员,该函数也应作为 match 参数传递给 shortest 。计算
超级会员免费看
订阅专栏 解锁全文
1894

被折叠的 条评论
为什么被折叠?



