TSP问题的解决与实现报告

1.问题描述所谓TSP问题是指旅行家要旅行n个城市,要求各个城市经历且仅经历一次,并且要求所走的路程最短。该问题又称为货郎担问题、邮递员问题、售货员问题,是图问题中最广为人知的问题。2.基本要求(1)上网查找TSP问题的应用实例;(2)分析求TSP问题的全局最优解的时间复杂度;(3)设计一个求近似解的算法;(4)分析算法的时间复杂度。3.提交报告课程设计报告提交内容包括:(1)问题描述;(2)需求分析;(3)概要设计;(4)详细设计;(5)调试分析;(6)使用说明;(7)测试结果;(8)附录(带注释的源程序)。参见“数据结构课程设计概述.pdf”和“数据结构课程设计示例.pdf”。指导教师(签字):系主任(签字):批准日期:2014年月日1.问题描述(1)题目要求旅行家要旅行n个城市,要求各个城市经历且仅经历一次,最终要回到出发的城市,求出最短路径。用图论的术语来说,假如有一个图G=(V,E),其中V是顶点集,E是边集,设D=(d)是由ij顶点i和顶点j之间的距离所组成的距离矩阵。TSP问题就是求出一条通过每个顶点且每个顶点只通过一次的具有最短距离的回路。.)基本要求(2上网查找TSP问题的应用实例;a.分析求TSP问题的全局最优解的时间复杂度;b.c.设计一个求近似解的算法;d.分析算法的时间复杂度。3)测试数据(TSP问题:5个城市的注:由于矩阵所表示的是两个城市之间的距离,所以该矩阵为对称矩阵路程矩阵如图所示:02314282532∞41025∞18312614118∞712∞113231732826111∞4最短路径为vvvvv341202.需求分析(1)本程序用于求解n个结点的最短哈密尔顿回路问题。(2)程序运行后显示提示信息—“”,例如用户输入5,则表示结Pleaseinsertthenumberofcities:点n的值为5;接下来程序输出提示信息—“Pleaseinsertthedistancebetweenonecityand”,例如用户输入测试数据中给出的路程矩阵,表示任意两个城市之间的距离,比another:如第一个城市到第0个城市之间的距离为25。(3)用户输入数据完毕,程序将输出运算结果。(4)测试数据均为正数,其中用999来表示两个城市之间距离为∞。3.概要设计为了实现上述程序功能,使用优先队列来维护结点表,因此需要图和队列两个抽象数据类型。.(1)图的抽象数据类型定义ADTGraph{Data:具有相同类型的数据元素的集合,称为顶点集。:Relation顶点偶对的有穷集合。:OperationCreateGraph(G,V,VR)初始条件:是图中顶点集合,是图中顶点偶对集合。VRV操作条件:按照和的定义构造图。VGVRDestroyGraph(G)初始条件:图已经存在。G操作结果:销毁。GLocateVex(G,u)初始条件:图已经存在,和中顶点有相同类型。uGG操作结果:如果中存在则返回在中的位置;否则返回相应信息。Guu,GGetVex(G,v)初始条件:图已经存在,是中某个顶点。vGG操作结果:返回的值。vPutVex(G,v,value)初始条件:图已经存在,是中顶点。GGv操作结果:对赋值。vvalueFirstAdjvex(G,v)初始条件:图已经存在,是中顶点。vGG操作结果:返回的第一个邻接顶点。如果在中没有邻接顶点,则返回相应信息。vvGNextAdjvex(G,v,w)初始条件:图已经存在,是中顶点是的邻接顶点。GvG,wv操作结果:返回的下一个邻接顶点。如果是的最后一个邻接点,则返回相应信息。vwvInsertVex(G,v,w)初始条件:图已经存在,和是中顶点。GwvG操作结果:在中添加。vGDeleteVex(G,v)初始条件:图已经存在,是中顶点。GGv操作结果:删除中顶点及其相关的边。Gv,v,w)InsertEdge(G.初始条件:图已经存在,和是中顶点。wGGv操作结果:在中添加;如果是无向图,则还增添。GG<w,v><v,w>DeleteEdge(G,v,w)初始条件:图已经存在,和是中顶点。GwvG操作结果:在中删除如果是无向图,则还删除。GG<v,w>;<w,v>DFSTraverse(G,v)初始条件:图已经存在,是中顶点。GGv操作结果:从起深度访问。GvBFSTraverse(G,v)初始条件:图已经存在,是中顶点。GGv操作结果:从起广度访问。vG}ADTGraph(2)队列的抽象数据类型ADTQueue{Data:具有相同数据类型的及先进先出特性的数据元素集合。:Relation相邻数据元素具有前驱和后继的关系。:OperationInitQueue(Q)初始条件:无操作结果:创造一个空队列。QDestroyQueue(Q)初始条件:队列已经存...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供参考,付费前请自行鉴别。
3、如文档内容存在侵犯商业秘密、侵犯著作权等,请点击“举报”。

常见问题具体如下:

1、问:已经付过费的文档可以多次下载吗?

      答:可以。登陆您已经付过费的账号,付过费的文档可以免费进行多次下载。

2、问:已经付过费的文档不知下载到什么地方去了?

     答:电脑端-浏览器下载列表里可以找到;手机端-文件管理或下载里可以找到。

            如以上两种方式都没有找到,请提供您的交易单号或截图及接收文档的邮箱等有效信息,发送到客服邮箱,客服经核实后,会将您已经付过费的文档即时发到您邮箱。

注:微信交易号是以“420000”开头的28位数字;

       支付宝交易号是以“2024XXXX”交易日期开头的28位数字。

客服邮箱:

biganzikefu@outlook.com

所有的文档都被视为“模板”,用于写作参考,下载前须认真查看,确认无误后再购买;

文档大部份都是可以预览的,笔杆子文库无法对文档的真实性、完整性、准确性以及专业性等问题提供审核和保证,请慎重购买;

文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为依据;

如果您还有什么不清楚的或需要我们协助,可以联系客服邮箱:

biganzikefu@outlook.com

常见问题具体如下:

1、问:已经付过费的文档可以多次下载吗?

      答:可以。登陆您已经付过费的账号,付过费的文档可以免费进行多次下载。

2、问:已经付过费的文档不知下载到什么地方去了?

     答:电脑端-浏览器下载列表里可以找到;手机端-文件管理或下载里可以找到。

            如以上两种方式都没有找到,请提供您的交易单号或截图及接收文档的邮箱等有效信息,发送到客服邮箱,客服经核实后,会将您已经付过费的文档即时发到您邮箱。

注:微信交易号是以“420000”开头的28位数字;

       支付宝交易号是以“2024XXXX”交易日期开头的28位数字。

笔杆子文秘
机构认证
内容提供者

为您提供优质文档,供您参考!

确认删除?