- 1、本文档共145页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据结构PPT教学课件-第7章 图
第7章 图 7.2 图的存储结构 7.3 图的遍历和求图的连通分量 7.4 图 的 生 成 树 7.5 最短路径 7.6 有向无环图及应用 7.7 图的算法C语言程序实现举例 case 2: n=creat1(dig2);break; case 3: toposort(dig2, n);break; case 4: criticalpath(dig, n);break; } } }/*main end int creat(vexnodel dig[]) /*建立AOE邻接链表*/ ? { int i, j, a, b, c; edgenodel *p, *q; printf(input vex number:); scanf(%d, i); /*输入AOE图的顶点数*/ (3) 求每一项活动ai(1≤i≤m)的最早开始时间e(i)=ve(j), 最晚开始时间l(i)=vl(k)-dut(〈j, k〉)。若某条弧满足e(i)=l(i), 则它是关键活动。 对于图7.19所示的AOE网, 按以上步骤的计算结果见表7.3, 可得到a1, a4, a7, a8, a10, a11是关键活动。 求出AOE网中所有关键活动后, 只要删去AOE网中所有的非关键活动, 即可得到AOE网的关键路径。这时从开始顶点到达完成顶点的所有路径都是关键路径。一个AOE网的关键路径可以不止一条, 如图7.19的AOE网中有两条关键路径, 即(v1, v2, v5, v7, v9)和(v1, v2, v5, v8, vg), 它们的路径长度都是16。如图7.22所示。下面给出的求关键活动的算法也就是求关键路径的算 图 7.22 图7.19所示AOE网的关键路径 下面给出的求关键活动的算法也就是求关键路径的算法。 为了便于第2步求值, 需在第1步拓朴排序时保存拓扑序列。 在7.6.1节的拓朴排序算法中,TOPOSORT是利用栈来保存入度为零的顶点, 排序结束后, 栈没有保存拓朴序列。因此, 我们必须对TOPOSORT算法做如下修改: 用顺序队列tpord[n]保存入度为零的顶点, 将原算法中的有关栈操作改为相应的队列操作。 在排序过程中, 当删去以vj为起点的出边〈vj, vk 〉时, 可根据vj的ve(j)值, 用递推公式(7.1)对vk的ve(k)值进行修改。为此, 必须在排序前将各顶点的ve值均置上初值零。 若ve(k)值已对vk的所有前趋顶点vj修改过, 则ve(k)值就是最终求得的vk的最早发生时间。一旦排序结束, tpord[n]中就保存了拓朴序列。 具体算法如下: 算法 7.10 typedef stuct node1 { int adjvex; /*邻接点域 */ int dut; /*权值 */ struct node1 next; /链域 */ } edgenode1; /*边表结点 */ typedef struct { vextype vertex; /*顶点信息 */ int id; /*入度 * edgenode1 link; /*边表头指针 */ } vexnode1; /*顶点表结点 */ vexnode1 dig1[n]; /*全程量邻接链表 */ void criticalpath(vexnode1 dig[ ]) /*dig是AOE网的带权邻接链表*/ { int front=-1; rear=-1; /*顺序队列的首尾指针置初值为-1*/ int tpord[n], vl[n], ve[n]; int l[maxsize], e[maxsize]; edgenode1 p; for (i=0; in; i++) ve[i]=0; /*各事件vi+1的最早发生时间置初值零 */ for (i=0; in; i++) /*扫描顶点表, 将入度为零的顶点入队 */ if (dig[i].id==0) tpord[++rear]=i; m=0; /*计数器初始化 */ while (front![KG-*2]=rear)
您可能关注的文档
- 同策-上海豪宅专题研究报告2009-97P.pdf
- 吉利并购沃尔沃分析.ppt
- 名商天地皮具龙头市场市场开盘后策划整体策略方案.ppt
- 后勤HSE检查细则.doc
- 名仕龙城企划说明书.doc
- 同致行——房地产项目可性行研究(机密文件)200906.ppt
- 后勤服务业务经济活动分析参照文本.doc
- 同致行新政下横向联合居住户型设计案例解析.ppt
- 合肥建业令翔项目.ppt
- 君豪华府水岸别墅定制手册.doc
- 中国水稻研究所水稻种质资源中期库建设项目报告表.pdf
- 全自动X射线轮胎检测系统建设项目报告表.pdf
- 桐庐县前溪流域治理工程报告表.pdf
- 年产34万吨瓶装纯净水高速生产线升级项目报告表.pdf
- G2531杭州至上饶高速公路(杭淳开高速公路)杭州中环至浙赣界(杭州段)报告书.pdf
- 2025年云南省中考历史真题含答案.docx
- 广东省大湾区2024-2025学年高一下学期7月期末考试政治试题含答案.pdf
- 陕西省汉中市2024-2025学年高二下学期期末质量检测含答案(9科试卷).pdf
- 福建省南平市2024-2025学年第二学期高二下期末质量检测试卷含答案(9科试卷).pdf
- 河北省石家庄2024-2025学年高二下学期期末教学质量检测含答案(9科试卷).pdf
文档评论(0)