- 51
- 0
- 约 22页
- 2017-08-11 发布于安徽
- 举报
《数据结构》实验报告
◎实验目: 实验目的:实验内容:一、需求分析
(1)请输入顶点数和边数(输入格式为:顶点数,边数):11,17
(2) 请输入顶点信息(输入格式为:顶点号):0 1 2 3 4 5 6 7 8 9 10
(3) 请输入每条边对应的两个顶点号及其权值(输入格式为:顶点,顶点,权值:):
0,6,5
0,7,4
0,4,3
1,4,1
1,6,8
1,3,2
2,4,6
2,3,3
2,10,7
3,5,8
5,10,3
5,9,8
6,7,1
7,8,4
7,9,6
8,9,2
9,10,6
(4) 请选择操作:
1如果选择输入为1,结果为:
最短哈密尔顿回路为:0-6-7-8-9-5-10-2-3-1-4-0
权值为:5+1+4+2+8+3+7+3+2+1+3=39
2如果选择输入为2,结果为:
请输入指定起始点:0
请输入指定终点:6
请输入路径经过指定的顶点:10
输出路径是:0-4-2-10-9-7-6
起始点为0终点为6的经过指定点10的最短路径为:29
3如果选择输入为3,结果为:
请输入指定起始点:4
请输入指定终点:1
请输入路径经过指定的顶点一:8
请输入路径经过指定的顶点二:3
输出路径是:4-1-3-1-6-7-8-7-6-1
起始点为4终点为1的经过指定点一8以及指定点二3的最短路径为:31
4如果选择输入为0,结果为:
结束.
二 概要设计
??void hamidun(mgraph g)
求解最短哈密尔顿回路
int lujing(mgraph g,int v0,int vn,int dist[],int prev[])
求解指定两点之间的最短路径
void ShowPath(mgraph g,int v0,int u,int *dist,int *prev)
输出所求最短路径所经过的顶点
void zhiding1(mgraph g,int v0,int vn,int vx)
求解任意两点之间的最短路径,须经过指定1个顶点
void zhiding2(mgraph g,int v0,int vn,int vx1,int vx2)
求解任意两点之间的最短路径,须经过指定2个顶点
本程序包含六个模块:
(1)主程序模块
(2)求解最短哈密尔顿回路模块
(3)求解指定两点之间的最短路径模块
(4)输出所求最短路径所经过的顶点模块
(5)求解任意两点之间的最短路径,须经过指定1个顶点模块
(6)求解任意两点之间的最短路径,须经过指定2个顶点模块
(7)模块调用图
三 详细设计
元素类型,结点类型和指针类型:#define M 50
//哈密顿回路最长值
#define MAX_LENGTH 1024
//单边最大值
#define MAX_SIDE_LENGTH 30
//节点信息结构
struct Node
{
int level; //位于生成树的第几层
int dot; //第几个节点
};
typedef struct
{
int edge[M][M];
int N,e;
int vexs[M];
}mgraph;
Node s[99];
//记忆最短路径
Node aShortNode[M];
//记忆当前路径
Node aNode[M];
Node node;
2.每个模块的分析:
(1)主程序模块
int main()
{
int i,j,k,w,v0,vn,vx,vx1,vx2,m;
mgraph g;
printf(请输入顶点数和边数(输入格式为:顶点数,边数):\n);
scanf(%d,%d,(g.N),(g.e));
getchar();
printf(请输入顶点信息(输入格式为:顶点号):\n);
for(i=0;ig.N;i++)
{
scanf(%d,(g.vexs[i]));
getchar();
}
for(i=0;ig.N;i++)
for(j=0;jg.N;j++)
g.edge[i][j]=999; //认为999时两顶点之间无边
printf(请输入每条边对应的两个顶点号及其权值(输入格式为:顶点,顶点,权值:):\n);
for(k=0;kg.e;k++)
{
scanf(%d,%d,%d,i,j,w);
g.edge[i][j]=g.edge[j][i]=w;
}
while(1)
{
printf(******************************************************************\n);
printf(\t1.求解最短哈密尔顿回路.\n);
printf(\t2.求解任意两个
您可能关注的文档
- 课程设计(论文)-电子灭蚊器电路的设计.doc
- 课程设计(论文)-短波调频接收机.doc
- 课程设计(论文)-多点温度检测系统设计.doc
- 课程设计(论文)-基于51单片机的DS18B20数字温度计的设计.doc
- 课程设计(论文)-基于51单片机的电子万年历.doc
- 课程设计(论文)-基于51单片机与DS18B20的数字温度计设计.doc
- 课程设计(论文)-基于AT8920C51的多功能电子钟的设计.doc
- 课程设计(论文)-基于单片机的电流电压测量系统设计.doc
- 课程设计(论文)-基于单片机的计算机设计.doc
- 课程设计(论文)-基于单片机的数字电子钟.doc
- 安徽省华师联盟2025-2026学年高三上学期1月质量检测生物试卷+答案.doc
- 安徽省华师联盟2025-2026学年高三上学期1月质量检测语文试卷+答案.doc
- 四川省绵阳南山中学实验学校2025-2026学年高三上学期1月月考数学含答案.doc
- 2026届辽宁省大连市高三上学期双基考试物理试卷+答案.doc
- 辽宁名校联盟2026年1月高三上期末联考质量检测化学含答案.doc
- 辽宁名校联盟2026年1月高三上期末联考质量检测生物含答案.doc
- 辽宁名校联盟2026年1月高三上期末联考质量检测英语含答案.doc
- 辽宁名校联盟2026年1月高三上期末联考质量检测政治含答案.doc
- 黑龙江省龙江教育联盟2026年1月高三上学期期末考试化学含答案.doc
- 黑龙江省龙江教育联盟2026年1月高三上学期期末考试生物含答案.doc
最近下载
- 工业激光安全培训课件.ppt VIP
- Windchill模块功能白皮书.doc VIP
- 工程图学基础(第三版)刘宇红全套PPT课件.ppt
- 慢性肾脏病早期筛查、诊断及防治指南(2022年版).pptx VIP
- 2025年四川省达州市法官逐级遴选考试题及答案.docx VIP
- 一种4,6-二氨基间苯二酚二盐酸盐的生产系统.pdf VIP
- 贵州省六盘水市高二上学期1月期末英语试题(含答案).docx VIP
- 奥迪A6轿车ABS系统故障诊断与维修.doc VIP
- 备战2025广东省深圳市中考数学真题汇编《圆的计算与证明》含答案解析.pdf VIP
- GB 50183-2015 石油天然气工程设计防火规范条文解释.ppt VIP
原创力文档

文档评论(0)