兰州大学信息科学与工程学院
数据结构实验报告
课程名称 数据结构
实验名称 数据结构实验
专业班级
姓 名
学 号
实验日期 第 日 周 星期 三,四 节
实验地点 贺兰堂
2012—2013学年度第 一 学期
一、实验目的
1、熟悉图的相关知识,加深对图关键路径查找方法的理解
二、实验内容
1、 对于给定的一个工程施工图,该图以边为单位从键盘输入,编写能够找出该图的关键路径的程序。
三、实验环境
1、硬件配置:Pentium(R) Dual-Core9 CUP E6500 @2.93GHz,1.96的内存
2、软件环境:Microsoft Windows XP Professional Service Pack 3,Microsoft Visual C++ 6.0
四、需求分析
1、输入的形式和输入值的范围:根据题目要求与提示输入点和边的数目,然后根据你的图的信息,将边输进程序中。
2、输出的形式:输出关键路径的各个节点。
3、程序所能达到的功能:输出给定图的关键路径。
4、测试数据:输入点和边的数目,以空格隔开,然后输入每条边,边的起点和终点,权以空格隔开,回车,输出关键路径。如:
输入点和边的数目 3 2
输入第一个边的起点,终点 及权 1 2 12
输入第二个边的起点,终点 及权 1 3 16
输出关键路径为.
五、概要设计
为了实现上述操作,应以数组和链表为存储结构,。
1、基本操作:
(1)void creatadjlist(adjlist *G,int n,int e)
初始条件:adjlist *G指针形式的指针存在,以及存在节点的数目n, 节点的数目e;
操作结果:建立以adjlist *G为指针的邻接表。
(2)int topsort(adjlist *G,int n)
初始条件:adjlist *G为一已知图的邻接表,n为节点的数目;
操作结果:返回节点的关键路径最后节点的编号。
(3)void creat_path(adjlist *G,int top2,int n)
初始条件:adjlist *G,图最后节点的编号top2,节点的数目n;
操作结果:输出图adjlist *G的关键路径。
2、本程序包含三个模块:
(1)主程序模块;
(2)构造邻接表函数,寻找关键路径末节点和求各节点事件发生最早时间函数,输出图的关键路径函数模块
(3)模块调用图:
主程序模块
输出图关键路径模块
寻找关键路径末节点和求各节点事件发生最早模块
构造邻接表函数模块
3、流程图
主函数
屏幕输出“请输入点和边的数目”
n =点的数目,e =边的数目
设定图类型的指针变量G,并开辟出相应的空间
调用创建邻接表的函数
调用求关键路径最后节点和计算事件发生最早时间的函数
调用输出关键路径的函数
构建邻接表函数
初始条件有图类型的指针G,节点数n,边数e
当i 从0变到节点数
图的结构体数组中每个指向下一个的元素为NULL
设定每个点编号
设定每个节点的入度为0
设定每个节点的最早开始时间为0
当i从0 变到边数e
屏幕输出“请输入地%d边的起点,终点及权”
a= 起点b=终点w=权值
设定邻接表节点类型的变量p
P的弧头等于b,权值w
标号b-1的邻接表的头节点的入度加一
建立邻接表[a-1]的相应的指向关系
寻找关键路径的最后节点以及计算各个时间的最早发生时间的函数
初始化有邻接表类型的指针G,还有节点数n
top1 = 0,top2 = 0,m=0
当i从1变到小于n
是
如果节点的入度为0
否
top1赋值给该节点的入度
i赋值给top1
当top1不等于0
j=top1
top1值赋为编号[j-1]节点的入度
[j-1]节点的入度赋值给top2
top2=j
m++
p指向编号为[j-1]头节点邻接表所指向的节点
当p不为空
k = p所在邻接表节点的弧头编号
编号为[k-1]邻接表头节点的入度减一
是
如果编号为[k-1]头节点的入度为0
否
编号为[k-1]头节点的入度赋值为top1
top1 赋值为k
是
编号[k-1]时间小于[j-1]时间加权值
否
[k-1]的时间进行修改
P指向下一个邻接表节点结构体
是
m小于n的值
否
屏幕输出“有回路!”
然会top2的数值
输出关键路径函数
初始条件有图类型的指针G,关键路径最后一个节点top2,节点总数n
设定整形变量endone来记录关键路径最后一个节点的位
您可能关注的文档
最近下载
- 凡口铅锌矿综合利用充填式采矿柱设计.docx VIP
- 第二单元 第一节 分解在线学习问题 教学设计 川教版(2024)信息科技三年级下册.docx VIP
- DBJ_T03-113-2019:岩土工程勘察规范.pdf VIP
- 《心理健康与职业生涯》教案(全).pdf
- 苏教版六年级下册科学知识点全册.doc VIP
- 凡口铅锌矿深部采矿工艺研究.docx VIP
- (高清版)HYT 074-2018 反渗透海水淡化工程设计规范.pdf
- 130t h生物质循环流化床锅炉的设计与计算.pdf
- 大一计算机期末考试试题及答案.docx VIP
- 昆明市市政排水管道和附属构筑物设计、安装图集(2013版)(附条文).pdf VIP
原创力文档

文档评论(0)