贪心法
贪心法把一个复杂问题分解为一系列较为简单的局部最优选择,每一步选择都是对当前解的一个扩展,直到获得问题的完整解。贪心法的典型应用是求解最优化问题,而且对许多问题都能得到整体的最优解,即使不能得到整体最优解,通常也是最优解的很好近似。
TSP
TSP问题是指旅行家要旅行n个城市,要求各个城市经历且仅经历一次然后回到出发城市,并要求所走的路程最短。(下面以给出无向图的代价矩阵为例,从左到右,从上到下,表示城市:1~5,100表示城市本身(无穷大),在自己的写的代码中,可以自行调整这数值)
解决思想
思想1:最近邻点策略
从任意城市出发,每次在没有到过的城市中选择最近的一个,直到经过了所有的城市,最后回到出发城市。
按照这种思想,如果从顶点1出发,那么根据代价矩阵,我们可以得出的路径是:1->4->3->5->2->1。总代价是14.
我们可以先大概写出伪代码,有了伪代码以后,我们就可以更好的用代码实现,伪代码如下: