- 1、本文档共14页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
作业解答_图
数据结构作业 2002 年 * * 第七章 图 7.1 已知如右图所示的有向图,请给出 (1)各顶点的入/出度; (2)邻接矩阵; (3)邻接表; (4)逆邻接表; (5)强连通分量。 B D A E F C 解答:(1) 顶点 入度 出度 顶点 入度 出度 A 3 0 B 2 2 C 1 2 D 1 3 E 2 1 F 2 3 (2)邻接矩阵; A B C D E F A 0 0 0 0 0 0 B 1 0 0 1 0 0 C 0 1 0 0 0 1 D 0 0 1 0 1 1 E 1 0 0 0 0 0 F 1 1 0 0 1 0 M= 邻接矩阵 D E F C B A 1 2 3 4 5 6 顶点数组 V[1..6] (3)邻接表; F E D C B ∧ A 1 2 3 4 5 6 ∧ 1 图邻接表 序号 头结点数组 表结点单链表 ∧ 4 1 3 ∧ 6 5 ∧ 6 2 1 ∧ 5 2 (4)逆邻接表; F E D C B A 1 2 3 4 5 6 图逆邻接表 序号 头结点数组 表结点单链表 ∧ 6 3 2 ∧ 6 5 ∧ 4 ∧ 2 ∧ 6 4 ∧ 6 3 (5)强连通分量。 B D A E F C 7。15 #define MAX_VERTEX_NUM 20 /*图中最多顶点数*/ #define INFINITY 32767 /*定义无穷大*/ /* DG:有向图,DN:有向网,UDG:无向图,UDN:无向网*/ typedef enum {DG,DN,UDG,UDN} GraphKind; typedef char VertexType; /*假定顶点数据类型为字符*/ typedef struct { /*定义存储图的数据类型*/ VertexType vexs[MAX_VERTEX_NUM+1]; /*顶点数组*/ int arcs[MAX_VERTEX_NUM+1][MAX_VERTEX_NUM+1]; /*邻接矩阵*/ int vexnum; /*顶点数*/ GraphKind kind; /*图类型:DG,DN,UDG,UDN */ } MGraph; int InsertVex(MGraph *G, VertexType v) {int i,val; if (G-vexnum =MAX_VERTEX_NUM ) { printf(“OVERFLOW”); return 0;} /*失败返回*/ G-vexnum++; /*图G的顶点数加1*/ G- vexs[G-vexnum]=v; /*顶点数据写入图G的顶点数组中*/ val=(G-kind==DG||G-kind==UDG) ? 0 : INFINITY; for(i=1;i= G-vexnum;i++) /*图G的邻接矩阵第G-vexnum*/ { G-arcs[G-vexnum][i]=val; /*行、列设置为val*/ G-arcs[i][G-vexnum]=val; } return 1; /*成功返回*/ } int InsertArc(MGraph *G, Ver
文档评论(0)