数据结构课程实验--课设预习报告

1.问题定义

        本次课程设计要求协助中国大学生计算机设计大赛江苏省组委会,设计一款赛事管理系统,实现赛务相关的数据管理及信息服务,该系统能够为省级赛事管理解决以下问题:

(1)从team.txt中读取参赛队伍的基本信息,能够管理各参赛队的基本信息(包含参赛队编号,参赛作品名称,参赛学校,赛事类别,参赛者,指导老师),赛事类别共11项(参见大赛官网jsjds.blcu.edu.cn);包括增加、删除、修改参赛队伍的信息。

(2)实现基于二叉排序树的查找。根据提示输入参赛队编号,若查找成功,输出该赛事类别对应的基本信息(参赛作品名称、参赛学校、赛事类别、参赛者和指导老师信息),同时,输出查找成功时平均查找长度ASL;否则,输出“查找失败!”。请输出ASL(成功)的计算公式和结果值。 (3)能够提供按参赛学校查询参赛团队,根据提示输入参赛学校名称,若查找成功,输出该学校参赛的所有团队的基本信息,输出的参赛团队需有序输出(按参赛队编号)。(排序算法可从选择排序、插入排序、希尔排序、归并排序、堆排序中任意选择,并为选择算法的原因做出说明。)

(4)为省赛现场设计一个决赛叫号系统。所有参赛队按赛事组织文件中的赛事类别分到9个决赛室,决赛室按顺序叫号,被叫号参赛队进场,比赛结束后,下一参赛队才能进赛场。请模拟决赛叫号系统,演示省赛现场各决赛室的参赛队进场情况。(模拟时,各参赛队进场比赛时间可设为0.5秒)

(5)赛事系统为参赛者提供赛地的校园导游程序。为参赛者提供各种路径导航的查询服务。以我校长山校区提供比赛场地为例,(请为参赛者提供不少于10个目标地的导航。可为参赛者提供校园地图中任意目标地(建筑物)相关信息的查询;提供图中任意目标地(建筑物)的问路查询,即查询任意两个目的地(建筑物)之间的一条最短的简单路径。

2.问题分析

        针对以上需求,可以将系统的功能分为五个模块:参赛队伍管理模块、参赛队伍查找模块、参赛团队查询模块、决赛叫号系统模块和校园导游程序模块。

3.概要设计

        参赛队伍管理模块:

        提供添加参赛队伍信息的功能,包括参赛队编号、参赛作品名称、参赛学校、赛事类别、参赛者和指导老师。
        提供删除参赛队伍信息的功能,根据参赛队编号删除相应的队伍信息。
        提供修改参赛队伍信息的功能,根据参赛队编号选择要修改的队伍信息进行更新。


        参赛队伍查找模块:

        从team.txt文件中读取参赛队伍的基本信息,构建二叉排序树。
        提供按参赛队编号查找的功能,根据输入的编号在二叉排序树中进行查找,如果查找成功,输出基本信息和平均查找长度(ASL);否则输出"查找失败!"。


        参赛团队查询模块:

        提供按参赛学校查询参赛团队的功能,根据输入的学校名称查询参赛的所有团队的基本信息,并按赛事类别进行排序输出。
        提供按赛事类别查询参赛团队的功能,根据输入的赛事类别查询参赛的所有团队的基本信息,并按赛事类别进行排序输出。选择排序算法进行排序,因为在数据规模较小的情况下,选择排序简单且性能良好。
        决赛叫号系统模块:

        将参赛队伍按赛事类别分配到9个决赛室,按顺序叫号进场。
        模拟决赛叫号过程,显示各决赛室的参赛队进场情况,确保叫号顺序与进场秩序一致。


        校园导游程序模块:

        提供校园地图中不少于10个目标地的导航查询服务,参赛者可以查询任意两个目的地之间的最短路径,并查询任意目标地的相关信息。
        使用合适的图数据结构表示校园地图,例如图的邻接表表示法。
        使用迪杰斯特拉算法计算最短路径,根据参赛者输入的起始点和目标点,输出最短路径和相关信息。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值