跳转至

Lecture 8. 暴力

优点是

  • 穷举,所以如果有解,一定能找到解。
  • 好写。

缺点是

  • 慢。
  • 没有体现算法的创造性。

旅行商问题 Travelling Salesman Problem

是 NP 完全的

在具有 $n$ 个节点的完全图上,一个推销员,希望访问每个节点(城市)恰好一次,然后回到起点。每条边都有一个边权 $c(i,j)$,表示从 $i$ 到 $j$ 的代价。

这个推销员希望最小化总代价。

这个问题很难解决,但是可以暴力,即列出 ${V} - S$ 的所有 $(V-1)!$ 个排列,然后再把起点 $S$ 加入路径序列,依次检查。

对于每个排列,$\Theta(V)$ 地走一遍计算路径。故总时间复杂度是 $\Theta(V \times (V-1)!) = \Theta(V!)$。