



全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
数据结构上机实践6实践目的掌握图的存储结构;掌握有关图的操作算法并能用C语言实现。预备知识1图的邻接表存储结构描述如下: #define VEX_NUM 10 /*顶点数目*/ typedef char Vextype; /*顶点类型*/ typedef struct arcnode int adjvex; struct arcnode *nextarc; ArcNode; /*表结点*/ typedef struct vnode Vextype data; ArcNode *firstarc; VNode; /* 头结点*/ typedef VNode ALgraphVEX_NUM; /*图的邻接链表*/ 2基本算法(1)图的建立算法void creat_Mgraph( Mgraph *G,int e) /*建立无向图的邻接矩阵G ,e为边的数目*/ for (i=0;ivexsi); /*输入顶点信息*/ for (i=0;iVEX_NUM;+i) for (j=0;jarcsij=0; for(k=0;karcsij=1;G-arcsji=1; /* creat_Mgraph */(2)图的遍历int visitedNAX_VEX=0; void Dfs_m( Mgraph *G,int i) /* 从第i个顶点出发深度优先遍历图G,G以邻接矩阵表示*/ printf(%3c,G-vexsi); /*访问顶点vi*/ visitedi=1; for (j=0;jarcsij=1)& (!visitedj) Dfs_m(G,j); /*Dfs_m */应用范例从某源点到其余顶点之间的最短路径#define VEX_NUM 6#define MAXINT 1000#include typedef char Vextype;typedef struct Vextype vexsVEX_NUM; int arcsVEX_NUMVEX_NUM; Mgraph; void creat_Mgraph( Mgraph *G,int e) int i,j,w,k; for (i=0;iVEX_NUM;+i) for (j=0;jarcsij=0; else G-arcsij=MAXINT; printf(输入:n ); for(k=0;karcsij=w; /* creat_Mgraph */ void Dijkstra(Mgraph Gn, int v0,int path,int dist) int i,j,v,w,min; int sVEX_NUM; for(v=0; vVEX_NUM; v+) sv=0; distv=Gn.arcsv0v; if(distvMAXINT) pathv=v0; else pathv=-1; distv0=0;sv0=1; for(i=1;iVEX_NUM -1;i+) min=MAXINT; for(w=0;wVEX_NUM;w+) if(!sw & distwmin) v=w;min=distw; sv=1; for(j=0;jVEX_NUM;j+) if(!sj & (min+Gn.arcsvjdistj) distj=min+Gn.arcsvj; pathj=v; /*if*/ /*for*/ /*Dijkstra*/ void Putpath(int v0,int p,int d) /*输出源点v0到其余顶点的最短路径和路径长度*/ int i,next; for(i=0;iVEX_NUM;i+) if(diMAXINT & i!=v0) printf(v%d-,i); next=pi; while(next!=v0) printf(v%d-,next); next=pnext; printf(v%d:%dn,v0,di); else if(i!=v0) printf(v%d-v%d:no pathn,i,v0); /*Putpath*/main()Mgraph G;int e,v0;int pathVEX_NUM,distVEX_NUM;printf(输入有向网的弧数:);scanf(%d,&e);creat_Mgraph(&G,e);printf(输入有向网的源点:);scanf(%d,&v0);Dijkstra(G, v0, path, dist);printf(nv%d到其余顶点的最短路径:n,v0);Putpath(v0,path,dist);getch(); 以教材P.86 图5-5-1所示有向网为例
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 压力源分析心理试题及答案
- 2025年谜语灯谜月猜解测试试题及答案
- 2025年公司计算机视觉技术试题及答案
- SAT 考试竞赛培训试题及答案
- 23.2.3 关于原点对称的点的坐标 教学设计 2024--2025学年人教版数学九年级上册
- 总结评述教学设计初中音乐西大版2024七年级上册-西大版2024
- 活动二 队列设计说课稿-2025-2026学年小学综合实践活动四年级上册沪科黔科版
- 歌曲《火车跑得快》说课稿-2025-2026学年小学音乐花城版一年级下册-花城版
- 第一节 电场 电场强度说课稿-2025-2026学年中职基础课-机械建筑类-高教版(2021)-(物理)-55
- S-Ethyl-CoA-S-Ethylcoenzyme-A-生命科学试剂-MCE
- DL-T 5876-2024 水工沥青混凝土应用酸性骨料技术规范
- 【MOOC】数据库原理及应用-电子科技大学 中国大学慕课MOOC答案
- 节约集约建设用地标准 DG-TJ08-2422-2023
- 老年人体重管理策略研究
- 捷联惯导算法与组合导航原理讲义
- 新课标下的教学实践策略:基于“教学评”一体化的教学设计
- 挂靠合同协议书版模板
- 100部医学电子书(PDF EXE)下载地址
- DB34-T 4868-2024 智慧医院医用耗材院内物流规范
- 糖尿病急性并发症讲课课件
- 吸入一氧化氮治疗在急危重症中的临床应用专家共识解读
评论
0/150
提交评论