首页 > 编程知识 正文

算法设计与分析第5版,全国计算机二级真题库

时间:2023-05-03 08:55:34 阅读:59625 作者:4342

我们在解决一个问题时,不能只是尝试单个算法技术,不能单纯依靠灵感,而应该依靠我们对问题结构的认识,思维问题遵循“实际问题——抽象的数学问题——算法设计”的语境你怎么感觉像运筹学?

问题结构和基本算法思想http://www.Sina.com/http://www.Sina.com /

TSP旅行者问题

1925年,一家公司的销售员要走350个城市,一次只走一次,把商品卖给不同城市的人。 他必须知道如何走得最短,才能一次走完所有的城市。 3358 www.Sina.com/: ncitiesv={ 1,2,…n},andadistancematrixd.whereddenotesthedistancebetweencityandj; 3358 www.Sina.com/: theshortesttourthatvisitseachcityexactlyonceandreturnstotheorigincity。

分治策略decomposetheoriginalproblemintosubproblem http://www.Sina.com/:我们在m(s,e )中表示从1开始,经过s,到达e。 例如,{1}m{2},{3}表示从1出发到2点到3点。

整个问题域分为以下几部分:

上式的意思是,通过每条路可能有三种方法。 大概到d21(2到1 ),从1出发,经过三四点到达2。 剩下的两条路就按下去。

其中最小的问题是M({2},3{2}=d12d23=6)

(m )、3 )、4 )为

min{D34m},3},D24 M({3},2 } http://www.Sina.com/http://www.Sina.com /

stratfromaroughcompletesolution,and try to improve it step by step。

但是,这很麻烦,所以不说。方法:

如果x1=1,则边为1的路线已经通过,=0的边没有行走

examp:abcdea,x={ 1,0,0,1,0,1,0,1,0,1,0,1,1,1,1,1,1,1 }

现在我们来画决策树的一部分

但是这个方法是NOT EFFICIANT! 效率很低呢

所以,我们交往一种方法,寻求下界,也就是说我做这些旅行最少要花多少钱?

选择两个与每个城市tmdmg的最短距离,把这2n个距离加起来再除以2就是我们的最短距离。

(5 6 8 7 9)/2=17.5

也就是说17.5是下界,最低17.5以上的路程。

ifx=1,0,计算结果为(5 6 9 7 9)/2=18

分析:

 

 

 

用左边的方法,对齐右边的决策树,如下所示。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。