图的ADT实验报告.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
图的ADT实验报告

哈尔滨工业大学计算机科学与技术学院 实验报告 课程名称: 数据结构与算法 课程类型:必修 实验项目名称:图的ADT及其简单应用 实验题目:实现图的ADT,提高编程能力 班级:1103103 学号:1110310320 姓名:安尊文 设计成绩 报告成绩 指导老师 实验目的 采用C++类模版实现图的ADT,并简单应用。 实验要求及实验环境 CodeBlocks10.05 、 VC6 、 NetBeans IDE 6.9.1 皆可。 但最好是CodeBlocks10.05,下面结果在CodeBlocks10.05上测试成功。三、设计思想(本程序中的用到的所有数据类型的定义,主程序的流程图及各程序模块之间的调用关系) 逻辑设计 2.物理设计 求广度优先时候使用了队列结构。 四、测试结果 1.连通图的深度优先与广度优先收索实验结果测试: 输入:如下数据 5 6 a b c d e 1 2 1 1 4 1 2 3 1 3 4 1 3 5 1 2 5 1 则有邻接表: 运行结果如下: 显然运行结果正确! 2.非连通图的先深先广收索: 输入如下数据: 9 8 a b d c e f g h i 1 2 1 1 3 1 2 4 1 2 5 1 3 6 1 7 8 1 7 9 1 8 9 1 运行结果如下,显然正确! 3. 最小生成树的验证: 6 5 1 5 5 3 6 4 2 6 1 5 3 4 2 输入数据: 6 10 a b c d e f 1 2 6 1 3 1 1 4 5 2 3 5 2 5 3 3 5 6 3 6 4 3 4 5 5 6 6 4 6 2 打印最小生成树的边时运行的理论结果应该为: (3,1)(6,3)(4,6)(2,3)(5,2) 运行结果为: 显然正确! 五、系统不足与经验体会 时间紧张,有的操作如插入顶点、插入边还没写,但是相信还是比较简单的,能够实现。 该程序的亮点之处在于创建图时创建了邻接矩阵,为后面的最小生成树实现提够了简单的方法。 不足之处还多,比如人工输入比较麻烦,应该改进,而且尽量少使用cin、cout之类的,应该使用迭代器实现。 六、附录:源代码(带注释) graph.h定义: graph.h #ifndef GRAPH_H_INCLUDED #define GRAPH_H_INCLUDED #define maxsize 100 typedef int weight; typedef char VerData; /* 边表,包括邻接点域、链域、权重等。 */ typedef struct enode { int adjvex;/*----邻接点域----*/ enode * next;/*----链域----*/ weight w;/*----权重----*/ enode():adjvex(0),next(NULL),w(NULL){}/*----构造函数----*/ }EdgeNode; typedef struct { VerData data;/*----数据域----*/ EdgeNode *firstedge;/*----第一条边----*/ } vertexnode; typedef struct { vertexnode vex[maxsize];/*----顶点表数组----*/ int n;/*----顶点数----*/ int e;/*----边数----*/ }G; template typename T class graph { private : int num_of_edge; int num_of_vertexnode; weight cost[maxsize+1][m

文档评论(0)

xy88118 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档