- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
int visited[MAX]; //访问标志数组 void DFSTraverse(Graph G) { for(v=0;vG.vexnum;++v) visited[v] = false; for(v=0;vG.vexnum;++v) if (visited[v]==false) DFS(G,v); }//DFSTraverse 用邻接表方式实现深度优先搜索 void DFS(AGraph G, int v) { ArcNode *p; visited[v]=1; /*置已访问标记*/ printf(%d ,v); /*输出被访问顶点的编号*/ p=G.vertices[v].firstarc; /*p指向顶点v的第一条弧的弧头结点*/ while (p!=NULL) { if (visited[p-adjvex]==0) DFS(G, p-adjvex); /*若p-adjvex顶点未访问,递归访问它*/ p=p-nextarc; /*p指向顶点v的下一条弧的弧头结点*/ } } 最小代价生成树 普里姆算法求最小生成树 最小代价生成树 最小代价生成树 最小代价生成树 普里姆算法求最小生成树 最小代价生成树 普里姆算法求最小生成树 最小代价生成树 普里姆算法求最小生成树 最小代价生成树 Prim算法的实现 顶点集合如何表示? 最小边如何选择? 一个顶点加入U集合如何表示? 当U集合中加入一个新顶点时,V-U集合中的顶点到U的最小代价边可能会更新 void MiniSpanTree_PRIM (Graph G, VertexType u){ //用普里姆算法从顶点u出发构造G的最小生成树 for(j = 0; j G.vexnum; ++j) //辅助数组初始化 if ( j != u ) closedge[j] = {u, G.arcs[u][j]}; 7.5.2 关键路径(AOE网) 7.5.2(续) AOV网和AOE网 求关键路径 求ve[] 可能有四种情况: 1)、直接从源点到 v3 v0, v3(由一条弧组成); a, e 2)、从源点经过顶点 v1,再到达 v3 v0, v1, v1, v3 (由两条弧组成); 3)、从源点经过顶点 v2,再到达 v3 v0, v2, v2, v3 (由两条弧组成); 4)、从源点经过顶点 v1, v2,再到 达 v3 v0, v1, v1, v2, v2, v3 (由三条弧组成); 再下一条路径长度次短的最短路径的特点: f b g e d c a 8 5 6 2 30 20 7 17 32 9 a, c , c, d, d, e v1,v2 必为已求得的最短路径上的顶点 其余最短路径的特点: 1)、直接从源点到 vi v0, vi (只含一条弧); 2)、从源点经过已求得的最短路径上的顶点,再到达 vi (含有多条弧)。 f b g e d c a 8 5 6 2 30 20 7 17 32 9 Dijkstra 算法步骤: T 中顶点对应的距离值用辅助数组 D 存放。 D[i] 初值:若 v0, vi 存在,则为其权值;否则为∞。 vj S v6 v5 v4 v3 v2 v1 i =6 i =5 i =4 i =3 i =2 i =1 从 v0 到各终点的最短路径及长度 终点 v5 v1 v6 v4 v3 v2 v0 8 5 6 2 30 13 7 17 32 9 v2 13 8 ∞ 30 ∞ 32 v2 8 13 13 30 ∞ 32 v3 v1 v1 13 13 30 22 20 v3 8+5 19 22 20 v4 v4 8+5+6 21 20 v6 v5 13+7 21 v5 v6 初始时令 S={v0}, T={其余顶点}。 v0 从 T 中选取一个其距离值最小的顶点 vj,加入 S。 对 T 中顶点的距离值进行修改:若加进 vj 作中间顶点,从 v0 到 vi 的距离值比 不
您可能关注的文档
最近下载
- 预习材料3-IFS集成财经服务变革.pdf VIP
- 北师大版高中数学必修一全册教学课件.ppt VIP
- 武汉市轨道交通1号线径河延伸线工程.pdf VIP
- ECMO学习心得体会重症医学科陈仁山.pptx VIP
- 2025年度“三会一课”及“主题党日”活动计划表+2025年党组理论学习中心组学习计划.doc VIP
- 最高法案例库-与公司有关的纠纷02-广东某乙公司诉某甲生物公司股权转让纠纷案.pdf
- 心力衰竭专家共识2025年.pptx
- 2023CSCO非小细胞肺癌诊疗指南.pdf VIP
- 2024-2025学年深圳市育才二中小升初入学分班考试语文试卷附答案解析.docx
- 2025年深圳市育才二中小升初入学分班考试数学模拟试卷附答案解析.pdf
文档评论(0)