问题描述
我正在尝试解决旅行商问题,但我不明白第 3 步。什么是“预购步行”?我记得有这样的事情,比如预序遍历树,但我选择的 Kruskals 算法生成的是有向图,而不是树。
https://www.geeksforgeeks.org/travelling-salesman-problem-set-2-approximate-using-mst/
算法:
- 让 1 成为推销员的起点和终点。
- 使用 Prim 算法以 1 为根构建 MST。
- 列出在构建的 MST 的preorder walk 中访问过的顶点,并在末尾加 1。
解决方法
啊傻我。我误解了克鲁斯卡尔算法的工作原理。找到的边应该双向添加,以便 Kruskal 生成无向图,即树。一棵树可以按预序遍历。