版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、数据结构课程设计报告专业 网络工程班级 姓名 学号 指导老师 评分计算AOE网的关键路径AOE网即边表示活动的网络。通常,可用AOE网来估算工程计划的完成时间。如下所示的AOE网包括11项活动,9个事件,每个事件都有所需的完成时间。我们现在要解决的是:(1)完成整项工程至少需要多少时间(最短时间);(2)哪些活动是影响工程进度的关键(关键活动)。用e(i)表示活动最早开始时间,l(i)表示活动的最迟开始时间,则l(i)-e(i)为完成该活动的时间余量。对于本例列表如下:活动a1a2a3a4a5a6a7a8a9a10a11e(i)0006457771614l(i)02366877101614l(
2、i)-e(i)02302300300下图就是上述AOE网的关键路径:请编程完成下列工作:1、 输入:(1) 顶点的信息和入度;(2) AOE网的边(始点、终点和权值)。2、 输出:(1) AOE网的邻接表(按“顶点 入度:顶点 权值”的格式输出)如a 0:-4 5-3 4-2 6(2)输出关键活动每行所显示的分别为开始事件、结束事件、最早开始时间、最迟开始时间和完成活动的时间余量:当l(i)-e(i)=0时,在该行注明为关键活动。如:a b 0 0 0 关键活动源程序#include#include#include#include /#define PROJECTNUMBER 9/10/#de
3、fine PLANNUMBER 11/13typedef struct node int adjvex; int dut; struct node *next;edgenode;typedef struct int projectname; int id; edgenode *link;vexnode;/vexnode GraphicmapPROJECTNUMBER;void CreateGraphic(vexnode* Graphicmap,int projectnumber,int activenumber) int begin,end,duttem; edgenode *p; for(i
4、nt i=0;iprojectnumber;i+) Gjectname=i; Graphicmapi.id =0; Graphicmapi.link =NULL; printf(某项目的开始到结束在图中的节点输入n); printf(如:3,4,9 回车表示第三节点到第四节点之间的活动用了9个单位时间n); for(int k=0;kadjvex =end-1; p-dut =duttem; Graphicmapend-1.id +; p-next =Graphicmapbegin-1.link ; Graphicmapbegin-1.link =p; int Se
5、archMapPath(vexnode* Graphicmap,int projectnumber,int activenumber,int& totaltime) int i,j,k,m=0; int front=-1,rear=-1; int* topologystack=(int*)malloc(projectnumber*sizeof(int);/用来保存拓扑排列 int* vl=(int*)malloc(projectnumber*sizeof(int);/用来表示在不推迟整个工程的前提下,VJ允许最迟发生的时间 int* ve=(int*)malloc(projectnumber*
6、sizeof(int);/用来表示Vj最早发生时间 int* l=(int*)malloc(activenumber*sizeof(int);/用来表示活动Ai最迟完成开始时间 int* e=(int*)malloc(activenumber*sizeof(int);/表示活动最早开始时间 edgenode *p; totaltime=0; for(i=0;iprojectnumber;i+) vei=0; for(i=0;iadjvex ; Graphicmapk.id -; if(vej+p-dut vek) vek=vej+p-dut ; if(Graphicmapk.id =0) to
7、pologystack+rear=k; p=p-next ; if(mprojectnumber) printf(n本程序所建立的图有回路不可计算出关键路径n); printf(将退出本程序n); return 0; totaltime=veprojectnumber-1; for(i=0;i=0;i-) j=topologystacki; p=Graphicmapj.link ; while(p) k=p-adjvex ; if(vlk-p-dut )dut ; p=p-next ; i=0; printf(| 起点 | 终点 | 最早开始时间 | 最迟完成时间 | 差值 | 备注 |n);
8、 for(j=0;jadjvex ; e+i=vej; li=vlk-p-dut; printf(| %4d | %4d | %4d | %4d | %4d |,Gjectname +1,Gjectname +1,ei,li,li-ei); if(li=ei) printf( 关键活动 |); printf(n); p=p-next ; return 1;void seekkeyroot() int projectnumber,activenumber,totaltime=0; system(cls); printf(请输入这个工程的化成
9、图形的节点数:); scanf(%d,&projectnumber); printf(请输入这个工程的活动个数:); scanf(%d,&activenumber); vexnode* Graphicmap=(vexnode*)malloc(projectnumber*sizeof(vexnode); CreateGraphic(Graphicmap,projectnumber,activenumber); SearchMapPath(Graphicmap,projectnumber,activenumber,totaltime); printf(整个工程所用的最短时间为:%d个单位时间n,totaltime); system(pause);int main() char ch; for(;) do system(cls); printf(| 欢迎进入求关键路径算法程序 |); for(int i=0;i80;i+)printf(*); printf(%s,(S)tart开始输入工程的节点数据并求出关键路径n);
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 山东省莱芜市2026年数学八年级第一学期期末检测试题含解析
- 叶城县2026年三上数学期末调研模拟试题含解析
- 云南省昆明市云南师大附小2027届三上数学期末检测试题含解析
- 江苏省洪泽区金湖县2026-2027学年数学七上期末学业质量监测试题含解析
- 2027届玉树县六上数学期末考试试题含解析
- 2027届韶关市曲江区四上数学期末综合测试模拟试题含解析
- 2027届常德市安乡县数学六上期末达标测试试题含解析
- 2026中国制药工业行业竞争分析与发展前景预测研究报告
- 2026中国油菜籽种植产业现状供需格局分析及投资评估规划市场前景研究报告
- 2026中国石油化工设备制造行业市场供需分析及投资评估规划分析研究报告
- 2026年廉洁从业教育培训测试题及答案
- 2026年吉林省国资委监管企业2026年度第一次集中招聘(613人)考试备考题库及答案详解
- 金融赋能:我国城镇化建设中金融发展与城镇化关系的深度剖析与实证研究
- 二年级孤独的小螃蟹故事
- 代理记账100问(完整版带答案)
- 中央空调冷凝水管道改造技术方案
- 宁夏回族自治区银川市永宁中学2025-2026学年第二学期第一次阶段检测高一物理试卷(含解析)
- 危化品企业法人责任制度
- 快递网点管理制度牌
- jb-qb-5ei型火灾报警控制器使用说明书(船用)v2.0
- 天平代换课件
评论
0/150
提交评论