免费预览已结束,剩余1页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
实验4 图的遍历及应用一、 实验目的1) 掌握图的邻接矩阵存储;2) 利用邻接矩阵存储图;3) 掌握图的邻接表存储;4) 利用邻接表存储图并实现图的遍历;二、 实验内容已知图1,分别用邻接矩阵,邻接表表示两种表示法创建g1,g2.DA3 0 1 0 1 Edges= 1 0 1 1 BC 0 1 0 0 1 0 0 1图1无向图无向图对应的邻接表表示如下图所示: 序号 0A 1 3 B1 0 2 3 112C D 3 0 1 一个无向图的邻接表表示1、利用邻接矩阵存储图1。要求:数据元素类型ElemType 取char。实现如下算法:1)利用邻接矩阵存储一个图;2、利用邻接表存储图1并实现图的遍历。要求:数据元素类型ElemType 取char。实现如下算法:1)利用邻接表存储一个图;2)输出邻接表;编程代码如下:#include #includeusing namespace std;#define MAXV 30typedef char ElemType ;typedef struct int no; ElemType data; VertexType;typedef struct int edgesMAXVMAXV; int vexnum,arcnum; VertexType vexsMAXV; MGraph;void CreateMGraph(MGraph *G) int i;printf(利用邻接矩阵创建图n输入顶点数:);scanf(%d,&G-vexnum);printf(请输入顶点:n); for(i=0;ivexnum;i+) scanf(%cn,&G-vexsi.data); printf(输入边数:);fflush(stdin); scanf(%d,&G-arcnum); for(i=0;ivexnum;i+) for(int j=0;jvexnum;j+) G-edgesij=0; for(int k=0;karcnum;k+) int i,j; printf(输入边(vi,vj)上的下标i,下标jn); scanf(%d,%d,&i,&j); G-edgesji=G-edgesij=1; void printfMG(MGraph *G)printf(输出邻接矩阵n);for(int i=0;ivexnum;i+)for(int j=0;jvexnum;j+)if(i=j)printf( 0 );elseprintf( %d ,G-edgesij);printf(n);typedef struct ANode int adjvex; struct ANode *nextarc; ArcNode; typedef struct Vnode ElemType data; ArcNode *firstarc; VNode;typedef VNode AdjListMAXV;typedef struct AdjList adjlist; int vexnum,arcnum; ALGraph; void CreateALGraph(ALGraph *G) printf(利用邻接表创建图n输入顶点数:); scanf(%d,&G- vexnum); printf(输入边数:); scanf(%d,&G-arcnum); printf(输入顶点:n); for(int i=0;ivexnum;i+) cin G-adjlisti.data; G-adjlisti.firstarc=NULL; fflush(stdin); for(int k=0;karcnum;k+) int i,j; printf(输入边(vi,vj)上的顶点序号:n); scanf(%d,%d,&i,&j); ArcNode *e; e=new ArcNode; e-adjvex=j; e-nextarc=G-adjlisti.firstarc; G-adjlisti.firstarc=e; e=new ArcNode; e-adjvex=i; e-nextarc=G-adjlistj.firstarc; G-adjlistj.firstarc=e; void printfALG(ALGraph *G) ArcNode *p; int i; printf(输出邻接表n); for (i=0;ivexnum;i+) printf(%c,G-adjlisti.data); p=G-adjlisti.firstarc; while (p) printf(-%d,p-adjvex); p=p-nextarc; printf(-n); int main() MGraph G; CreateMGraph(&G);
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 高血压患者的护理查房教案(2025-2026学年)
- 教案人教版七年级语文上册同步练习走一步再走一步(2025-2026学年)
- 六年级数学下册比例用比例解决问题教案
- 译林版中考英语中的冠词句型讲课教案(2025-2026学年)
- 大班体育课《蚕宝宝》中班关于蚕宝宝教案
- 二年级数学下册《加减法的估算》新版西师大教案
- 电子的亲和能教案
- 高中地理第四章人类与地理环境的协调发展可持续发展的基本内涵教案湘教版必修(2025-2026学年)
- 七年级政治上册聪明以外的智囊教案教科版(2025-2026学年)
- 初中数学八年级下册函数函数的表示教案
- 【二年级】2025秋季期中家长会:让每一颗小小的种子【课件】
- 2026年车友会活动合同
- DB33∕T 2476-2022 长期护理保障失能等级评估规范
- 学校病媒生物防制培训
- 2025年国家公务员《行测》真题及答案
- 路面铣刨工程规范施工方案
- 医疗器械质量管理体系内审员职业发展
- 掼蛋活动方案
- 2025年三元锂电池行业分析报告及未来发展趋势预测
- 蛋糕房员工合同
- 小学意识形态工作责任落实实施方案
评论
0/150
提交评论