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

数据结构-图重点.ppt

  1. 1、本文档共104页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
二、最小生成树 {v1,v2,v3,v4,v5,v6} 0 0 0 0 0 adjvex lowcost 5 {V5} {v1,v2,v3,v4,v6} 0 v3 6 0 0 0 adjvex lowcost 2 {v2,V5} {v1,v3, ,v4,v6} 0 v3 6 0 0 v3 5 adjvex lowcost 4 {v2,v4, V5} {v1,v3, v6} 0 v3 6 v6 2 0 v3 5 adjvex lowcost 6 {v2,v4, v5,v6} {v1,v3} v3 4 v3 6 v1 5 0 v3 5 adjvex lowcost 3 {v2,v3,v4,v5,v6} {v1} ∞ ∞ v1 5 v1 1 v1 6 adjvex lowcost k V-U U 6 5 4 3 2 closedge 7.4 图的连通性问题 i 二、最小生成树 7.4 图的连通性问题 普里姆算法: Void MinispanTree_prim(Mgraph G,VertexType u) { //用普里姆算法从第u个顶点出发构造网G的最小生成树T, 输出T的各条边 //辅助数组定义: struct { vertexType adjvex; VRType lowcost; }closedge[MAX_VERTEX_NUM]; 二、最小生成树 7.4 图的连通性问题 k=LocateVex(G,u); //设图的存储结构采用邻接矩阵表示 for(j=0;jG.vexnum;++j) //辅助数组初始化 if(j!=k) closedge[j]={u,G.arcs[k][j].adj}; closedge[k].lowcost=0; For(i=1;iG.vexnum;++i) { k=minmum(closedge); //求下一个k Printf(closedge[k].adjvex,G.vexs[k]); Closedge[k].lowcost=0; //k顶点并入U集 For(j=0;jG.vexnum;++j) //新顶点并入U后重选最小边 if(G.arcs[k][j].adjclosedge[j].lowcost) closedge[j]={G.vexs[k],G.arcs[k][j]} } 练习题:用Prim算法求下图的最小代价生成树。 答案 2.克鲁斯卡尔(Kruskal)算法 求最小生成树的另一种方法。 算法的基本思想 设连通网N={V,E},T为N的最小生成树。 初始时,T={V,{}},即T中没有边,只有n个顶点,理所当然,这n个顶点就是n个连通分量。 (1)在E中选择权值最小的边,并将此边从E中删除。 (2)如果此边的两个顶点在T的不同连通分量中,则将此边加入到T的边集中,从而导致T中减少一个连通分量,重复执行(1)、(2) ;如果此边的两个顶点在T的同一个连通分量中,则也重复执行(1)、(2),直至T中仅剩一个连通分量时,终止操作。 克鲁斯卡尔算法的时间复杂度为O(eloge),适合边稀疏的图。 二、最小生成树 7.4 图的连通性问题 二、最小生成树 7.4 图的连通性问题 7.5????? 有向无环图及其应用 一、有向无环图 二、拓扑排序 三、关键路径 一、有向无环图 7.5????? 有向无环图及其应用 有向无环图(directed acycline graph),简称DAG图,是一个无环的有向图。 (1)在编译原理中,进行语义分析时,有向无环图是描述 含有公共子式表达式的有效工具。 (2)有向无环图也是描述一项工程或系统的进行过程的有效工具。在描述一项工程时,图的顶点被描述为子工程,称为“活动”。 二、拓扑排序 1.拓扑排序问题的提出 通常,一个任务(工程)总可以分成若干个子任务,欲完成整个任务,只需完成所有子任务。而一些子任务常必须先于另外一些子任务被完成。也就是若想完成一个子任务必须看其先决务件是否被满足,这些先决条件即某些(其他的)子任务已经被完成。 因此,先决条件定义了各任务之间的先后关系,这种关系可以用一个表示偏序的有向图来表示。如一个施工流程图,一个产品生产流程图或是一个数据流图,学生学习的进程图等。 7.5????? 有向无环图及其应用 2.AOV网(Activity On Vertex Network) 用顶点表示活动,用弧

文档评论(0)

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

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

1亿VIP精品文档

相关文档