对给定的AOV网络,产生所有的拓扑排序结果,并进行解法的动态演示

 数据结构        课程实验报告

实验题目: 33题,对给定的AOV网络,产生所有的拓扑排序结果,并进行解法的动态演示。
实验学时:一周 实验日期:
实验目的:对给定AOV网络,产生所有的拓扑排序结果,并进行动态演示

硬件环境:
Win
软件环境:
Vs
Qt

目录
一. 任务概述 2
1.1背景描述 2
1.2题目描述 3
1.3实验目的 3
二. 需求分析 4
2.1 UML用例图 4
2.2功能性需求分析 4
2.2.1建立初始界面 4
2.2.2提供有向图信息的输入途径 4
2.2.3可视化展示通过用户输入信息建立的有向图 5
2.2.4实现用户控制动态演示 5
2.2.5明确显示拓扑排序的结果 5
2.3非功能性需求分析 6
2.3.1易用性 6
2.3.2效率 6
2.3.3可扩展性 6
2.4各界面需求分析 6
三.编程分析与设计 8
3.1项目制作流程设计 8
3.2 概念设计(ER图) 9
3.3模块设计 9
3.4 UI设计 9
3.5类设计(UML类图) 11
3.6数据结构设计 12
3.7难点分析与算法设计 13
3.7.1如何求出有向无环图所有的拓扑序列 13
3.7.2如何实现用户控制动态演示 14
3.7.3如何把顶点均匀的绘制在界面上 15
四.系统实现 15
4.1测试数据及结果 15
4.2遇到的错误及修改 19
4.2.1部分数据测试不正确----算法逻辑有问题 19
4.2.2动态演示不成功 19
4.2.3qt安装不成功 19
五.程序评价 20
5.1项目优点 20
5.2项目缺点 20
5.3项目改进与优化… 20
六.分析与体会 20

一. 任务概述
1.1背景描述
AOV网和拓扑排序:
AOV网是一个有向无环图,拓扑排序就是将有向无环图中的各个顶点排成一个序列,使得所有的前驱后继关系都得到满足。对于相互之间没有次序关系的顶点,在拓扑排序中可以处在任意的位置。因此,拓扑排序的结果往往不是唯一的。
在这里插入图片描述
比如在该图中,所有的拓扑排序为以及好几种
1 3 2 4 5
1 3 4 2 5
1 3 4 5 2
1 4 3 2 5
1 4 3 5 2
1.2题目描述
对给定的AOV网,产生所有的拓扑序列,给出求解过程的动态演示。
题目可分解为以下三点:
(1) 产生AOV网
(2) 对确定的AOV网,给出所有的拓扑序列
(3) 动态演示求解拓扑序列的过程
1.3实验目的
通过本次课程设计,进一步理解拓扑排序的原理,进一步体会递归方法的设计与使用,进一步掌握各种基本抽象数据类型的逻辑结构、存储结构和实现操作算法,以及它们的使用方法,提高编程能力,分析问题和解决问题的能力。
二. 需求分析

2.1 UML用例图

在这里插入图片描述

2.2功能性需求分析
2.2.1建立启动界面
启动界面即我们的ui操作界面。

2.2.2提供有向图信息的输入途径
(1) 项目主体(AOV网)的信息通过用户获取,通过控制台获得相关信息
2.2.3可视化展示通过用户输入信息建立的有向图
用户输入的信息均为数字化信息,很有可能输入错误,出现系统建立的有向图不是用户想要测试的有向图的情况。为使用户可以形象方便的观察:
(1) 在界面中将用户描述的有向图绘制出来,要求图中各点均匀分布,能清晰识别图中边点情况
(2) 展示有向图的邻接矩阵,向用户提供进一步检验有向图的途径,同时有利于当系统出错时能够排除有向图的建立过程出错的情况
2.2.4实现用户控制动态演示
在得

  • 5
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值