网站大量收购独家精品文档,联系QQ:2885784924

数据结构实验报告6.doc

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据结构实验报告6

实验报告(6) 实验名称 图及其应用实验 同组人姓名 实验性质 基本操作 ●验证性 综合性 □设计性 实验日期 实验成绩 教师评价: 实验预习□ 实验操作□ 实验结果□ 实验报告□ 其它□ 教师签名: 一、实验目的及要求 图是一种重要的非线性数据结构,要求掌握图的两种基本的存储结构(邻接矩阵、邻接表),以及图的基本算法实现(建立、深度优先遍历、广度优先遍历),并能运用图结构分析解决一些实际问题。 本实验训练的要点是:图的两种基本存储结构,及各种操作的算法实现(建立、遍历、图的典型应用) 二、实验内容 图的两种基本存储结构,及各种操作的算法实现(建立、遍历、图的典型应用): 建立无向图和有向图的邻接矩阵存储,计算顶点的度,并按要求输出图的基本信息。 建立有向图的邻接表存储表示,并根据存储计算顶点的出度和入度,然后按照要求输出图的基本信息。 三、主要设备及软件 WinTc 四、实验流程、操作步骤或核心代码、算法片段 无向图和有向图的邻接矩阵存储 #includestdio.h #define infinity - #define max_vertex_num 20 typedef enum{UDG=1,DG}graphkind; typedef struct arccell{ char adj; }arccell,adjmatrix[max_vertex_num][max_vertex_num]; typedef struct{ char vexs[max_vertex_num]; adjmatrix arcs; int vexnum,arcnum; graphkind kind; }mgraph; int locatevex(mgraph*g,char*arc1) { int i; for(i=0;ig-vexnum;i++) if(g-vexs[i]==*arc1) return i; } void createDG(mgraph*g){ int i,j,k;char*tarc,*harc,zifu; printf(enter the num for Gs vexnum,arcnum,and graphkind:\n); scanf(%d%d%d,g-vexnum,g-arcnum,g-kind); for(i=0;ig-vexnum;i++){ printf(enter the vex\n); zifu=getchar(); scanf(%c,g-vexs[i]);} for(i=0;ig-vexnum;i++){ for(j=0;jg-vexnum;j++){ g-arcs[i][j].adj=0;} } for(k=0;kg-arcnum;k++){ zifu=getchar(); printf(enter one arcvex\n); scanf(%c,tarc); zifu=getchar(); scanf(%c,harc); i=locatevex(g,tarc);j=locatevex(g,harc); g-arcs[i][j].adj=1; } } void createUDG(mgraph*g){ int i,j,k,x,y;char*arc1,*arc2,zifu; printf(enter the num for Gs vexnum,arcnum,and graphkind:\n); scanf(%d%d%d,g-vexnum,g-arcnum,g-kind); for(i=0;ig-vexnum;i++){ printf(enter the vex\n); zifu=getchar(); scanf(%c,g-vexs[i]);} for(i=0;ig-vexnum;i++) for(j=0;jg-vexnum;j++) g-arcs[i][j].adj=0; for(k=0;kg-arcnum;k++){ zifu=getchar(); printf(enter one arcvex\n); scanf(%c,arc1); zifu=getchar(); scanf(%c,arc2); x=locatevex(g,arc1);y=locatevex(g,arc2); g-arcs[x]

您可能关注的文档

文档评论(0)

zhuwenmeijiale + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:7065136142000003

1亿VIP精品文档

相关文档