使用 MST * 2 的 TSP 近似求解器

问题描述

我正在尝试解决旅行商问题,但我不明白第 3 步。什么是“预购步行”?我记得有这样的事情,比如预序遍历树,但我选择的 Kruskals 算法生成的是有向图,而不是树。

https://www.geeksforgeeks.org/travelling-salesman-problem-set-2-approximate-using-mst/

算法:

  1. 让 1 成为推销员的起点和终点。
  2. 使用 Prim 算法以 1 为根构建 MST。
  3. 列出在构建的 MST 的preorder walk 中访问过的顶点,并在末尾加 1。

解决方法

啊傻我。我误解了克鲁斯卡尔算法的工作原理。找到的边应该双向添加,以便 Kruskal 生成无向图,即树。一棵树可以按预序遍历。