欢迎来到天天文库
浏览记录
ID:35625878
大小:398.00 KB
页数:28页
时间:2019-04-03
《《算法与数据结构》课程设计--关键路径》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、《算法与数据结构》课程设计题目:关键路径×××××××院、系:计算机科学与工程学院学科专业:姓名:学号:指导教师:2010年7月2日一需求分析1.1问题描述关键路径是指网络终端元素的元素的序列,该序列具有最长的总工期并决定了整个项目的最短完成时间。关键路径的工期决定了整个项目的工期。任何关键路径上的终端元素的延迟将直接影响项目的预期完成时间。 1.2基本要求(1)输入的形式和输入值的范围;(2)输出的形式;(3)程序所能达到的功能;二概要设计说明本程序中用到的所有抽象数据类型的定义。主程序的流程以及各程序模块之间的层次(调
2、用)关系。1、数据结构//需要用到的结构体typedefstructlistCode//用于建立图的邻接表{intlocation;//记录相关结点的在数组中的位序structlistCode*next;//用于建立邻接表}listCode,*PlistCode;typedefstructcode//存储图中的结点{charco;//存储结点名intcode_e,code_l;//结点开始的最早、最晚intdegree;//各个结点的入度PlistCodenext;//用于建立邻接表}CustomizeType,code,
3、*Pcode;typedefstructside{intside_e,side_l;//边(活动)开始的最早、最晚时间intmargin;//记录活动余量intweight;//记录边的权值charco_start,co_end;//边的起始结点、尾结点charso[5];//边的编号}side,*Pside;typedefstructstack//用于栈操作{CustomizeType*base,*top;//base指尾,top指头intstackSize;//栈容量长度intLenth;//栈的实际长度}stack,
4、*Lstack;2、程序模块InitPartMessage();初始化所有结构体的信息。inputAllCode();输入图中所有的结点。inputSide();输入图中各条边以及权值。createList();按邻接矩阵建立邻接表。topologicalSort();按邻接表拓扑排序。codeMessage();根据拓扑排序后的节点序列求每个结点的最早、最晚开始时。sideMessage();在求得每个结点的最早、最晚开始时间后求每条边的最早最晚开始时间,并求得起活动余量。outputKeyPath();输出关键活动、关
5、键路径并求得工程周期。voidmain()函数:程序的入口,调用以上函数3、各模块之间的调用关系主函数分别调运InitPartMessage();inputAllCode();inputSide();createList();topologicalSort();codeMessage();outputKeyPath();三详细设计实现概要设计中定义的所有函数,对每个函数写出核心算法(要求注释);并尽可能画程序流程图)(1)总的流程如下:main()InitPartMessageinputAllCodecreateListt
6、opologicalSortcodeMessageoutputKeyPathinputSide(2)InitPartMessage()的流程如下:核心算法://初始化结点数组for(i=0;i7、deNumLimit;i++)for(j=0;j8、=-1){s=(PlistCode)malloc(sizeof(listCode));s->next=codebox_notSort[i].next;codebox_notSort[i].next=s;s->location=j;codebox_notSort[j].degree++;}核心算法:(5)
7、deNumLimit;i++)for(j=0;j8、=-1){s=(PlistCode)malloc(sizeof(listCode));s->next=codebox_notSort[i].next;codebox_notSort[i].next=s;s->location=j;codebox_notSort[j].degree++;}核心算法:(5)
8、=-1){s=(PlistCode)malloc(sizeof(listCode));s->next=codebox_notSort[i].next;codebox_notSort[i].next=s;s->location=j;codebox_notSort[j].degree++;}核心算法:(5)
此文档下载收益归作者所有