版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、数据结构实验报告第 6 次实验学号: 姓名:叶佳伟一、实验目的1、复习图的逻辑结构、存储结构及基本操作;2、掌握邻接矩阵、邻接表及图的创建、遍历;3、了解图的应用。二、实验内容1、(必做题)假设图中数据元素类型是字符型,请采用邻接矩阵或邻接表实现图的以下基本操作:( 1)构造图(包括有向图、有向网、无向图、无向网);( 2)根据深度优先遍历图;( 3)根据广度优先遍历图。三、算法描述(采用自然语言描述)四、详细设计(画出程序流程图)五、程序代码(给出必要注释)#include#include#include#include#include#define INFINITY /*赋初值用*/#de
2、fine MAX_VERTEX_NUM 20 /* 最大顶点个数 */enum DG, DN, UDG, UDN;typedef struct ArcCell int adj;/*顶点关系类型,对无权图,用1(是)或0(否)表示相邻否;对带权图,则为权值*/ char *info;/*弧相关信息指针*/AdjMatrixMAX_VERTEX_NUMMAX_VERTEX_NUM;typedef struct char vexsMAX_VERTEX_NUM5;/*顶点向量*/ AdjMatrix arcs; /*邻接矩阵*/ int vexnum, arcnum;/*图的当前顶点数和弧数*/ in
3、t kind;MGraph;void CreateDG(MGraph *G);void CreateDN(MGraph *G);void CreateUDG(MGraph *G);void CreateUDN(MGraph *G);int LocateVex(MGraph *G, char v);void print(MGraph *G);int main(void) MGraph *G; G = (MGraph *)malloc(sizeof(MGraph); printf(请选者 0-有向图,1-有向网,2-无向图,3-无向网 : ); scanf(%d, &G-kind); switch
4、(G-kind) case DG : CreateDG(G); print(G); break; case DN : CreateDN(G); print(G); break; case UDG : CreateUDG(G); print(G); break; case UDN : CreateUDN(G); print(G); break; default : break; getch();/*建立有向图*/void CreateDG(MGraph *G) int i, j, k; char v15, v25; printf(输入顶点数和弧数 : ); scanf(%d%d, &G-vexn
5、um, &G-arcnum); getchar(); for(i = 0; i vexnum; i+) scanf(%s, G-vexsi); /*自动赋值顶点向量*/ for(i = 0; i vexnum; i+) for(j = 0; j vexnum; j+) /*赋初值*/ G-arcsij.adj = INFINITY; G- = NULL; for(k = 0; k arcnum; k+) scanf(%s%s, v1, v2); /*输入一条边依附的顶点和权值*/ i = LocateVex(G, v1); /*确定v1和v2在G中位置*/ j = Loc
6、ateVex(G, v2); G-arcsij.adj = 1; /*弧的权值赋值*/ /*建立有向网*/void CreateDN(MGraph *G) int i, j, k, w; char v15, v25; printf(输入顶点数和弧数 : ); scanf(%d%d, &G-vexnum, &G-arcnum); getchar(); for(i = 0; i vexnum; i+) scanf(%s, G-vexsi); /*自动赋值顶点向量*/ for(i = 0; i vexnum; i+) for(j = 0; j vexnum; j+) /*赋初值*/ G-arcsij
7、.adj = INFINITY; G- = NULL; for(k = 0; k arcnum; k+) scanf(%s%s%d, v1, v2, &w); /*输入一条边依附的顶点和权值*/ i = LocateVex(G, v1); /*确定v1和v2在G中位置*/ j = LocateVex(G, v2); G-arcsij.adj = w; /*弧的权值赋值*/ /*建立无向图*/void CreateUDG(MGraph *G) int i, j, k; char v15,v25; printf(输入顶点数和弧数 : ); scanf(%d%d, &G-vex
8、num, &G-arcnum); getchar(); for(i = 0; i vexnum; i+) scanf(%s, G-vexsi); /*自动赋值顶点向量*/ for(i = 0; i vexnum; i+) for(j = 0; j vexnum; j+) /*赋初值*/ G-arcsij.adj = INFINITY; G- = NULL; for(k = 0; k arcnum; k+) scanf(%s%s, v1, v2); /*输入一条边依附的顶点和权值*/ i = LocateVex(G, v1); /*确定v1和v2在G中位置*/ j = Lo
9、cateVex(G, v2); G-arcsij.adj = 1; /*弧的权值赋值*/ G-arcsji.adj=G-arcsij.adj;/*置对称弧*/ /*建立无向网*/void CreateUDN(MGraph *G) int i, j, k, w; char v15, v25; printf(输入顶点数和弧数 : ); scanf(%d%d, &G-vexnum, &G-arcnum); getchar(); for(i = 0; i vexnum; i+) scanf(%s, G-vexsi); /*自动赋值顶点向量*/ for(i = 0; i vexnum; i+) for(
10、j = 0; j vexnum; j+) /*赋初值*/ G-arcsij.adj = INFINITY; G- = NULL; for(k = 0; k arcnum; k+) scanf(%s%s%d, v1, v2, &w); /*输入一条边依附的顶点和权值*/ i = LocateVex(G, v1); /*确定v1和v2在G中位置*/ j = LocateVex(G, v2); G-arcsij.adj = w; /*弧的权值赋值*/ G-arcsji.adj=G-arcsij.adj;/*置对称弧*/ int LocateVex(MGraph *G, char v) int k; for(k = 0; k vexnum; k+) if(strcmp(G-vexsk, v) = 0) break; return k;/*打印矩阵*/void print(MGraph *G) int i, j; printf(n-打印矩阵-nn); for(i = 0;
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 记忆的价值阅读理解
- 馆舍租赁合同4篇
- 装修合同书完整版六篇
- 销售合同汇编九篇
- 施工员:设备安装工程知识学习(三)
- 危险化学品储存管理的注意事项
- 药店周年庆促销活动方案
- 2024年新高考高中新教材文言句子翻译技巧(附答案解析)
- 物业项目规划设计方案(2篇)
- 中班舞蹈教学计划方案(2篇)
- 2024年05月内蒙古包头师范学院招考聘用16人笔试历年高频备考试题库含答案带难、易错考点黑钻版解析
- 2024年注册安全工程师考试题库附完整答案【名师系列】
- 2024年山东高速集团限公司上半年校园招聘(1168人)公开引进高层次人才和急需紧缺人才笔试参考题库(共500题)答案详解版
- MOOC 学术英语写作与演讲-上海交通大学 中国大学慕课答案
- 2022版义务教育信息科技新课程标准试题(含答案)
- 中国旅游地理智慧树知到期末考试答案章节答案2024年平凉职业技术学院
- 中华民族发展史智慧树知到期末考试答案2024年
- 江苏省无锡市锡山区2024年中考化学全真模拟试卷含解析
- 硕博研究生英语综合教程完整版电子课件
- 9.1 科学立法 课件-高中政治统编版必修三政治与法治
- 乌拉俄语АБВ智慧树知到期末考试答案2024年
评论
0/150
提交评论