网站大量收购独家精品文档,联系QQ:2885784924

数据结构TSP问题贪心法求解..doc

  1. 1、本文档共13页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
PAGE PAGE 6 红河学院工学院 课 程 设 计 报 告 专业:计算机科学与技术 年级: 学号: 姓名: 成绩: 红河学院 工学院编制 说 明 1、本报告供学生课程设计时使用。 2、学生应认真阅读所学课程配套的相关资料。 3、课程设计报告里面的内容要手工填写,以备存档使用(源程序可打印)。 4、课程设计的总评成绩根据课程的性质,按一定比例计入该门课程成绩。 5、报告中的“设计方法、设计技术路线、设计成果及总结分析”中的内容是评分的主要依据,如果不够书写,可以自行添加附页。 6、按规定的时间提交报告给教师评定成绩,由任课教师交到工学院存档。 课程设计目录 课程名称:数据结构与算法 任务序号 任务名称 起止页码 1 TSP问题 3~14 设计任务(1) 任务 名称 TSP问题 班级 13计算机科学与技术 指导 教师 地点 红河学院 成绩 学年 2014-2015 开始 日期 2014-11-10 结束 日期 2014-12-13 组员 设计目的及要求: 目的: (1)熟悉各种数据结构和运算,会使用数据结构的基本操作解决一些实际问题。 (2)掌握软件设计的基本内容和设计方法,并初步具备进行规范化软件设计能力。 要求: (1)首先要分析题目,查阅相关资料。 (2)清晰的设计出整个程序的算法思路。 (3)按要求编写程序。 (4)认真编写课程设计报告。 设计内容及基本要求: 内容: TSP问题 1) 问题描述 所谓TSP问题是指旅行家要旅行n个城市,要求各个城市经历且仅经历一次,并要求所走的路程最短。该问题又称为货郎担问题、邮递员问题、售货员问题,是图问题中最广为人知的问题。 2)基本要求: (1) 上网查找TSP问题的应用实例; (2) 分析求TSP问题的全局最优解的时间复杂度; (3) 设计一个求近似解的算法; (4) 分析算法的时间复杂度。 3) 设计思想 对于TSP问题,一种最容易想到的也肯定能得到最佳解的算法是穷举法,即考虑所有可能的旅行路线,从中选择最佳的一条。但是用穷举法求解TSP问题的时间复杂度为Ο(n!),当n大到一定程度后是不可解的。 本实验只要求近似解,可以采用贪心法求解:任意选择某个城市作为出发点,然后前往最近的未访问的城市,直到所有的城市都被访问并且仅被访问一次,最后返回到出发点。 为便于查找离某顶点最近的邻接点,可以采用邻接矩阵存储该图。算法用伪代码描述如下: 1. 任意选择某个顶点v作为出发点; 2. 执行下述过程,直到所有顶点都被访问: 2.1 v=最后一个被访问的顶点; 2.2 在顶点v的邻接点中查找距离顶点v最近的未被访问的邻接点j; 2.2 访问顶点j; 3. 从最后一个访问的顶点直接回到出发点v; 采用的设计方法、设计技术路线:(包括本任务的总体安排和进度、采用的设计方法和步骤以及任务流程图、可能遇到的问题和解决的方法) 任务总体安排:2014-11- 进度安排: 2014-11 2014-11 2014-11 2014-12 2014-1 一、需求分析 1.程序的功能: 一个旅行家要穿过多个城市,已知城市个数,以及城市间距,每个城市经历且只经历一次,求出最短路径解和最短路径长度。 2.输入输出的要求: 输入城市数目N为正整数,城市间距离按邻接矩阵方式排列输入,最小值为0,共有N*N个数值;输出最优解和最优值。 1.程序流程图: 可能遇到的问题: (1)由于参考资料有限,以及自身对程序设计的学习不足,使得在程序中对某些方面的操作可能不符合要求。 (2)程序中的算法结构单一,考虑不全,可能不能处理一些特殊问题。 解决的方法: (1)多看一些相关知识的参考例子,并对其仔细揣摩,深入了解其含义,掌握其运用的方法;还可以多上网查看和研究一些相似的例子,勤于思考,揣摩创新,善于借鉴他人的成果。 (2)根据自身的能力,编写出既严密,又清楚易懂的程序。 设计成果及总结分析:(设计成果包括程序清单、测试数据、指定的功能模块说明、设计说明,程序清单可打印,总结分析要手写) 功能模块: 主函数:int main() 主要由以下函数构成(函数的功能在程序清单中说明): int DistanceMin(int *p); void CreatArry(); void CreateMatrix(); void TSP(); 核心源程序清单 #includestdio.h #includestdlib.h int *choiced; //定义为全局,所有函数都能访问 int** matrix; //定义二级指针,操作矩阵 int n

文档评论(0)

jiayou10 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8133070117000003

1亿VIP精品文档

相关文档