- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
#includestdio.h
#includestdlib.h
#defineMAX_VERtEX_NUM20//顶点的最大个数
#defineVRTypeint//表示弧的权值的类型
#defineVertexTypeint//图中顶点的数据类型
#defineINFINITY65535
typedefstruct{
VertexTypevexs[MAX_VERtEX_NUM];//存储图中顶点数据
VRTypearcs[MAX_VERtEX_NUM][MAX_VERtEX_NUM];//二维数组,记录顶点之间的关系
intvexnum,arcnum;//记录图的顶点数和弧(边)数
}MGraph;
typedefintPathMatrix[MAX_VERtEX_NUM];//用于存储最短路径中经过的顶点的下标
typedefintShortPathTable[MAX_VERtEX_NUM];//用于存储各个最短路径的权值和
//根据顶点本身数据,判断出顶点在二维数组中的位置
intLocateVex(MGraph*G,VertexTypev){
inti=0;
//遍历一维数组,找到变量v
for(;iG-vexnum;i++){
if(G-vexs[i]==v){
break;
}
}
//如果找不到,输出提示语句,返回-1
if(iG-vexnum){
printf(nosuchvertex.\n);
return-1;
}
returni;
}
//构造有向网
voidCreateUDG(MGraph*G){
inti,j;
printf(请输入顶点数和弧数:);
scanf(%d,%d,(G-vexnum),(G-arcnum));
printf(请输入各顶点:);
for(i=0;iG-vexnum;i++){
scanf(%d,(G-vexs[i]));
}
for(i=0;iG-vexnum;i++){
for(j=0;jG-vexnum;j++){
G-arcs[i][j]=INFINITY;
}
}
printf(请输入各弧及权值(vi,vj,w):\n);
for(i=0;iG-arcnum;i++){
intv1,v2,w;
scanf(%d,%d,%d,v1,v2,w);
intn=LocateVex(G,v1);
intm=LocateVex(G,v2);
if(m==-1||n==-1){
printf(nothisvertex\n);
return;
}
G-arcs[n][m]=w;
}
}
//迪杰斯特拉算法,v0表示有向网中起始点所在数组中的下标
voidShortestPath_Dijkstra(MGraphG,intv0,PathMatrix*p,ShortPathTable*D){
intfinal[MAX_VERtEX_NUM];//用于存储各顶点是否已经确定最短路径的数组
//对各数组进行初始化
for(intv=0;vG.vexnum;v++){
final[v]=0;
(*D)[v]=G.arcs[v0][v];
(*p)[v]=0;
}
//由于以v0位下标的顶点为起始点,所以不用再判断
(*D)[v0]=0;
final[v0]=1;
intk=0,w;
for(inti=0;iG.vexnum;i++){
intmin=INFINITY;
//选择到各顶点权值最小的顶点,即为本次能确定最短路径的顶点
f
您可能关注的文档
- (1.4.1)--4.1 查找重复项数据库寻宝.ppt
- (1.4.1)--7.1 查找的基本概念.pdf
- (1.4.2)--4.2 大海捞针数据库寻宝.ppt
- (1.4.2)--7.2.1顺序查找数据结构.pdf
- (1.4.3)--4.3 创建参数查询.ppt
- (1.4.3)--7.2.2 折半查找数据结构.pdf
- (1.4.3)--安全意识:一份虚假检测报告的代价.pdf
- (1.4.4)--4.4 创建交叉表查询.ppt
- (1.4.4)--7.2.3索引分块查找数据结构.pdf
- (1.4.4)--质量意识:使用不合格建筑材料案例.pdf
- (1.7.1)--5.1 树的基本概念数据结构.pdf
- (1.7.1)--7.1 使用窗体“设计视图”完善优化主子窗体.ppt
- (1.7.2)--5.2 二叉树--5.2.1二叉树的基本概念.pdf
- (1.7.2)--7.2 新建窗体以及标签、文本框控件的使用方法.ppt
- (1.7.3)--5.2 二叉树--5.2.2 二叉树的存储结构.pdf
- (1.7.3)--7.3 组合框、列表框控件的设计使用方法.ppt
- (1.7.4)--5.2 二叉树--5.2.3二叉树的遍历.pdf
- (1.7.4)--7.4 命令按钮控件的设计使用方法.ppt
- (1.7.5)--5.2 二叉树--5.2.4二叉树的建立及应用.pdf
- (1.7.5)--7.5 子窗体和计算型文本框控件的设计使用方法.ppt
最近下载
- 实施指南《GB21345 - 2024黄磷单位产品能源消耗限额》实施指南.pptx VIP
- 吉林省德惠市第三中学2024-2025学年七年级上学期9月月考地理试题.docx VIP
- 气流干燥器设计说明书.doc VIP
- 《电子商务基础》中职电子商务专业全套教学课件.pptx
- 桶装水项目质量管理方案.docx VIP
- 地震数据采集设备的收放方法、集运箱和车辆.pdf VIP
- 压力管道壁厚及开孔补强计算.xls VIP
- 四五级拼音版 (20220824修订).pdf VIP
- 幼儿园区域留痕培训.pptx VIP
- 2025年贵州省高职(专科)分类招生中职生文化综合考试试卷(英语试题)676.pdf VIP
文档评论(0)