- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
[经济学]第6章图1
vertex firstedge adjvex next 顶点表结点 adjvex info next template class T struct arcNode { int adjvex; arcNode *next; }; struct vertexNode { T vertex; arcNode *firstedge }; 边表结点 ADT ALGraph Data 图的最大顶点个数MAX_SIZE; 元素为顶点表结点的一维数组adjlist [MAX_SIZE]; 图中的顶点个数vertexNum; 图中边的个数arcNum; Operation ALGraph (n, e) 前置条件:图的邻接表存储结构不存在 输入:顶点个数n,边的个数e 功能:建立图的邻接表存储结构 输出:无 后置条件:建立顶点表信息和边表信息 DFSTraverse(v) 前置条件:图的邻接表存储结构已存在 输入:遍历的起始顶点v 功能:从顶点v出发深度优先遍历图 输出:图中顶点的一个线性排列 后置条件:图的存储结构不变 BFSTtaverse(v) 前置条件:图的邻接表存储结构已存在 输入:遍历的起始顶点v 功能:从顶点v出发广度优先遍历图 输出:图中顶点的一个线性排列 后置条件:图的存储结构不变 endADT 1.确定图的顶点个数和边的个数; 2.输入顶点信息存储在顶点表中,并初始化该顶点的边表; 3.依次输入边的信息并将边所对应的邻接点信息存储在边表中; 3.1输入边所依附的两个顶点的序号i和j; 3.2生成新的邻接点序号为j的边表结点; 3.3将新的边表结点s插入到第i个边表的头部; ALGraph ::ALGraph ( int n, int e ) { vertexNum=n; arcNum=e; for (i=0; in; i++) //输入顶点信息,初始化顶点表 { adjlist[i].vertex=输入的顶点信息; adjlist[i].firstedge=NULL; } for (k=0; ke; k++) //依次输入每一条边 { 输入i, j;s=arcNode ( j ); s-next=adjlist[i].firstedge; adjlist[i].firstedge=s;//并在相应边表中插入结点 } } (a) 一个有向图G4 (b) 有向图的十字链表 V1 V3 V4 V2 0 v1 v2 v3 v4 0 1 0 2 ∧ 2 0 3 0 ∧ 3 1 ∧ 3 2 ∧∧ 2 3 ∧∧ 1 2 3 vertex firstin firstout (a) 十字链表顶点表结点结构 tailvex eadvex info hlink tlink (b) 十字链表边表的弧结点结构 V1 V2 V3 V4 V5 0 1 2 3 0 ∧ 3 ∧ 2 1 4 1 ∧ 2 ∧ 1 ∧ V1 V3 V4 V5 V2 ivex ilink jvex jlink info vertex firstedge (a)顶点表结点结构 (b)边表结点结构 0 0 1 1 2 3 4 1 2 3 2 4 0 3 9 6 5 4 7 3 8 下标 0 1 2 3 4 5 6 始点x 终点y 权值w 图的邻接矩阵是一个|V|*|V|矩阵,所以其空间代价是O(|V|2)。邻接表的空间代价是O(|V|+|E|)。 一般地,图越稠密,邻接矩阵的空间效率相应地越高,而对稀疏图使用邻接表存储,则能获得较高的空间效率。 与邻接表相比,邻接矩阵在图的算法中时间代价较高,其原因是:在图的算法中访问某个顶点的所有邻接点是较常见的操作,如果使用邻接表,只
文档评论(0)