- 88
- 0
- 约4.12千字
- 约 8页
- 2016-10-22 发布于湖北
- 举报
贪心法求解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[
您可能关注的文档
- 四川松林河洪一水电站送出施工报告解析.doc
- 数据采集与模拟滤波器介绍解析.doc
- 数据初步的复习解析.ppt
- 四川移动2104年数据业务运营支撑项目澄清材料解析.ppt
- 数据处理基础知识解析.ppt
- 四川中林园林工程有限公司大岗山水电站厂区绿化工程施工组织设计(7月8日)解析.doc
- 数据的表示(一)公开课课件解析.ppt
- 数据的表示和解析.doc
- 数据的波动1解析.ppt
- 四大名著的重要知识点2解析.ppt
- 2025年全国演出经纪人员资格认定考试试卷带答案(研优卷).docx
- 2025年全国演出经纪人员资格认定考试试卷完整版.docx
- 2025年全国演出经纪人员资格认定考试试题库及完整答案.docx
- 2025年全国演出经纪人员资格认定考试试卷完美版.docx
- 2025年全国演出经纪人员资格认定考试试卷含答案(实用).docx
- 2025年全国演出经纪人员资格认定考试试卷及答案(各地真题).docx
- 2025年下半年内江市部分事业单位公开考试招聘工作人员(240人)备考题库附答案.docx
- 2025年全国演出经纪人员资格认定考试试卷及答案1套.docx
- 2025年下半年四川成都市郫都区面向社会引进公共类事业单位人员2人备考题库最新.docx
- 2025年下半年内江市部分事业单位公开考试招聘工作人员(240人)备考题库附答案.docx
原创力文档

文档评论(0)