众所周知,用最小生成树求解平面上近似最短哈密顿回路的近似比为 222。
如果我们先把凸包求出来,然后考虑将凸包上的边 (u,v)(u,v)(u,v) 转化成 (u,v′),(v′,v)(u,v'),(v',v)(u,v′),(v′,v) 这样的两条边,把所有的转化关系全部弄出来存进优先队列里,每次选择一个代价最小的处理,处理之后把 (u,v)(u,v)(u,v) 打上标记表示不存在,下次遇到直接跳过;并且把 (u,v′),(v′,v)(u,v'),(v',v)(u,v′),(v′,v) 与其它节点的转化关系存进优先队列里。
这样的时间复杂度是 O(N2logN)\mathcal O(N^2\log N)O(N2logN) 的,但是不知道近似比是多少。