数据结构课程设计贪心法求解TSP问题重点.doc

数据结构课程设计贪心法求解TSP问题重点.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
贪心法求解TSP问题 一 目的 利用《数据结构》课程的相关知识完成一个具有一定难度的综合设计题目,利用C/C++语言进行程序设计,并规范地完成课程设计报告。通过课程设计,巩固和加深对线性表、栈、队列、字符串、树、图、查找、排序等理论知识的理解;掌握现实复杂问题的分析建模和解决方法(包括问题描述、系统分析、设计建模、代码实现、结果分析等);提高利用计算机分析解决综合性实际问题的基本能力。 二 需求分析 1、问题描述 TSP(Traveling Salesman Problem )是指:有一个推销员,要到n个城市推销商品,他要找出一个包含所有n个城市的具有最短路程的环路。 解法分析 采用贪心法求解:任意选择某个城市作为出发点,然后前往最近的未访问的城市,直到所有的城市都被访问并且仅被访问一次,最后返回到出发点。要求这时遍历各城市的距离为最短距离。 功能要求 输入城市的数量和城市间的距离,要求输入的为整数。结果为输出最短路径和遍历的最短距离,要求为整数。 三 概要设计 为便于查找离某顶点最近的邻接点,采用邻接矩阵存储该图 算法描述如下: (1).任意选择某个顶点i作为出发点; (2).执行下述过程,直到所有顶点都被访问: (3).i=最后一个被访问的顶点; (4).在顶点i的邻接点中查找距离顶点i最近的未被访问的邻接点j; (5).访问顶点j; (6).从最后一个访问的顶点直接回到出发点i。 最近邻点策略 从任意城市出发,每次在没有到过的城市中选择最近的一个,直到经过了所有的城市,最后回到出发城市,具体求解过程举例如下: 程序设计组成框图: 流程图: 方法与数据解释: public void initDistance() 方法作用:存储个城市间的距离,及城市的数目。 public void sum() 方法作用:求各个城市间的最短路径和,并且记录下最佳的旅行路径。 每次都要起初的最小距离min[i] = 99999去和临近的城市去比较距离 min[i] = distance[flag[k]][j],这样min[i]肯定会被覆盖,此时再根据for(j++)循环逐次比较,得出最小的min[i],用flag[k+1]去记下这个城市的编号。再用for循环,输出最佳路径flag[]。 public static void main(String[] args) {} 方法作用:主函数,在主函数中调用各种方法。 cityNum:城市数量; distance[][]:储存的各个城市之间的距离; min[]:最短路径; flag[] :城市编号。 四 详细设计 import java.util.Scanner; public class Tsp { int cityNum; int[][] distance = new int[10][10]; int min[] = new int[10]; int flag[] = new int[10]; public void initDistance(){ System.out.println(请输入城市的数目); Scanner input = new Scanner(System.in); cityNum = input.nextInt(); for (int i = 0; i cityNum; i++) { for (int j = 0; j cityNum; j++) { System.out.println(请输入第 + i + 城市到第 + j + 城市之间的距离); distance[i][j] = input.nextInt(); } } int count = 0; for (int i = 0; i cityNum; i++) { for (int j = 0; j cityNum; j++) { System.out.print(distance[

文档评论(0)

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

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

1亿VIP精品文档

相关文档