数据结构课程设计[2023-01-19]

news/2023/6/8 0:32:35

数据结构课程设计[2023-01-19]

数据结构课程设计

一、课程设计要求

  • 实现指定的题目(学号最后两位%4+1),并撰写课程设计报告。
  • 独立完成,功能不完备也没关系,只要是自己做的 使用 C、C++或者 JAVA 语言,采用控制台方式、GUI 方式或者Web 方式
  • 编程过程应该采用先建框架、逐步求精的方式。应该进行迭代的调试,而不是全部一次集成。

二、课程设计完成后应上交的材料
(1)打印课程设计报告收齐上交报告内容见模板文件要重视报告,是评分的重要依据
(2)报告与程序打包上传云班课
(3)打印版报告下学期开学统一收齐交到316 办公室

源码

https://pan.baidu.com/s/1pq1Nwwo0hlc_J84F93HM4A?pwd=1111

题目一、学生成绩管理系统的设计与实现

1、问题描述
学生成绩管理系统可以对学生表(学号、姓名、性别)、课程表(课程号、课程名、学分)、选课表(学号、课程号、成绩)进行管理,学生可以选择某门课程,考试得到一个成绩。要求学生表使用学号作为关键字构建二叉排序树(学号不能重复),课程表(课程号不能重复)和选课表采用顺序结构。
2、功能要求
学生信息、课程信息预先设置好,程序启动时,从文件中读入学生、课程和选课信息并自动建立数据结构,使用菜单实现以下功能(可以重复操作),每次操作后应该输出当前结果:
(1)学生表的插入和删除
(2)课程表的插入和删除
(3)选课表的插入和删除
(4)根据姓名,查询某个学生的所有成绩(课程名,得分)和平均成绩(5)根据课程名,查询某门课的所有成绩(姓名,得分)和平均成绩(6)退出时,将学生、课程及选课信息保存到文件中
3、测试数据

学生表
学号 姓名 性别
1 张三 男
2 李四 男
3 王倩 女
4 孙雪 女
5 赵贺 男
课程表
课程号 课程名 学分
1 数据结构与算法 6
2 程序设计语言 5
3 操作系统 5
4 数据库 5
5 软件工程导论 4
选课表
学号 课程号 成绩
1 1 91
1 2 88
1 3 85
1 4 92
1 5 89
2 1 76
2 2 78
2 3 65
2 5 80
3 2 55
3 4 68
4 3 80

题目二、校园导游系统的设计与实现

1、问题描述
江苏大学校园里有若干个地点,使用顶点表示,地点之间有路可通,使用边表示,边上的权值表示地点之间的距离,如下图所示。请为校园的来访客人设计一个导游咨询程序。
2、功能要求
校园道路网信息预先设置好,程序启动,从文件中读入图的信息,自动建立网结构,使用菜单实现以下功能(即可以重复操作),每次操作后应该输出当前结果:
(1)添加边
(2)删除边
(3)任选一种方法,求该网络的最小生成树;
(4)为来访客人提供图中任意顶点的问路查询,即输入两个顶点,输出两个顶点之间的最短路径;
(5)退出时,将道路图保存到文件中
3、测试数据
平面图.png

题目三、家谱管理系统的设计与实现

1、问题描述
家谱管理系统是查询家谱信息必不可少的一部分,利用家谱管理系统可以清楚地查询成员的详细信息。成员的信息包括:姓名(假设姓名不重复)、出生年月日、目前状况(健在、身故)。请设计合理的数据结构存储该家谱的信息,要求能够实现以下功能功能。
2、基本功能
该系统应具有以下功能(即可以重复操作):
家谱信息预先设置好,程序启动,从文件中读入家谱信息,自动建立家谱数据结构,使用菜单实现以下功能,每次操作后应该输出当前结果:
(1)插入:给某个人添加一个孩子
(2)删除:删除某个人,如果某人有后代,不允许删除
(3)堂兄弟:根据所在世代的字,可以输出该世代所有人的信息
(4)父子:可以根据姓名查询,并输出该人的父亲和孩子信息
(5)显示:以凹入表的形式显示家谱
(6)退出时,家谱信息保存到文件中
3、测试数据
族谱.png

题目四、哈夫曼编码-译码器

1、问题描述
打开一篇英文文章,统计该文章中每个字符出现的次数,然后以它们作为权值,对每一个字符进行编码,编码完成后再对其编码进行译码。利用哈夫曼编码进行信息通信可以大大提高信道利用率,缩短信息传输时间,降低传输成本。但是,这要求在发送端通过一个编码系统对待传数据预先编码,在接收端将传来的数据进行译码(复原)。对于双工信道(即可以双向传输信息的信道),每端都需要一个完整的编/译码系统。试为这样的信息收发站写一个哈夫曼编/译码系统。
2、基本要求
一个完整的系统应具有以下功能,每次操作后应该输出当前结果:
(1)初始化(Initialization)。从文件 ToBeTran.txt 中读入英文字符集,统计字符出现次数,作为权值建立哈夫曼树,获得哈夫曼编码,并存放于文件hfmCode.txt 中。
(2)编码(Encoding)。利用已建好的哈夫曼编码,对文件ToBeTran.txt中的正文进行编码,然后将编码后的结果存入文件 CodeFile.txt 中。
(3)译码(Decoding)。利用哈夫曼编码将文件CodeFile.txt 中的代码进行译码,结果存入文件 TextFile.txt 中。
(4)打印哈夫曼树(TreePrinting)。将哈夫曼树以直观的方式(树或凹入表形式)显示在终端上。

3、测试数据(ToBeTran.txt)

Next morning they met at breakfast. All three were somewhat silent.Itwas as if the weight of the matter which was that day to be discussedpressed upon their spirits. The smallest of the trio, Septimus Coddbyname, who was habitually taciturn, spoke scarcely a word. He was a strangelittle man, a nineteenth century villain in a sense. He was a rogueanda vagabond, yet his one hobby, apart from his business, was a studyof
the Past, and many an authority on Eastern History would have beenastonished at the extent of his learning. He was never so happy as whenburrowing amongst ancient records, and it was mainly due to his learningin the first place, and to a somewhat singular accident in the second,that the trio were now foregathered in Singapore. His personal appearancewas a peculiar one. His height was scarcely more than four feet six inches.His face was round, and at a distance appeared almost boyish. It was onlywhen one came to look into it more closely, that it was seen to be scoredby numberless small lines. Moreover it was unadorned by either beardormoustache. His hair was grey, and was worn somewhat longer than is usual.He could speak fluently almost every language of the East, and had beenimprisoned by the Russians for sealing in prohibited waters, had beentortured by the Chinese on the Yang-tse, and, to his own unextinguishabledisgrace, flogged by the French in Tonquin. Not the least curious traitin his character was the affection he entertained for Kitwater. The pairhad been together for years, had quarrelled repeatedly, but had neverseparated. The record of their doings would form an interesting book,butfor want of space cannot be more than referred to here. Hayle had beentheir partner in not a few of their curious undertakings, for his courageand resource made him a valuable ally, though how far they trusted eachother it is impossible to say.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.exyb.cn/news/show-4573690.html

如若内容造成侵权/违法违规/事实不符,请联系郑州代理记账网进行投诉反馈,一经查实,立即删除!

相关文章

实践 基于Arduino 的 平衡车

完成样子 因为只是学习验证,没用电烙铁,只用了面包板来连接各个组件,中间用扎带固定(不稳定)完成后能基本保持平衡,但太大力去推容易倒平衡原理通过负反馈实现平衡,车体会在轮子滚动的方向上发生…

【粉丝福利】今天给大家介绍一个白捡钱的方法-可转债,本人亲自验证,每年每人能获利1500元

今天给大家介绍一个白捡钱的方法,本人亲自验证,每年每人能获利1500元左右 收益截图 概述 本文最早发布于2022年4月初。 好多没接触过证券类产品,尤其是股票的人都会被股票的各种信息吓怕,所以导致望而却步。 去年的股票市场以及…

Python量化研究:可转债抢权配售值得做吗?

在之前的文章用 Python 分析可转债打新是否能赚钱中,对可转债打新的收益率进行了比较详细的分析,在这个基础上,本文研究与可转债投资相关的抢权配售行为的收益率情况,研究样本为2019年9月到目前共71只新上市的可转债。研究过程中的…

斗牛怎么玩法算法_干货:可转债怎么打新百分之百中签?详细讲解抢权配售,值得收藏...

我相信大家之前肯定看过类似的标题,可能有的人看完也没懂,可能有人看完了也一知半解,索性我今天就给大家科普一下,详细讲解一下。我觉得这时候,有时间的话,就好好看一遍,我相信绝对会有不一样的…

手把手教你可转债打新

上一期,我们介绍了可转债打新的准备工作,今天就来手把手教你可转债打新了~首先,当然是打开你的券商APP啦,我们以华泰证券为例,然后首页点击打新股。对了,这里要提示下打新时间哦,尽量…

基于Python每天爬取可转债信息并发送Email提醒【存档】

前言 懒应该是人类第一生产力,因为太懒了,再加上很容易忘记时间,所以经常错过打新债的时间,这可都是money啊!所以心血来潮花了两天的时间从网上找各种资料【感谢强大的互联网和各位牛人的博客】,从0基础开…

03.23可转债打新策略

一、03.23可转债申购: 1、重银转债 重庆银行的发债规模是130亿,没有网下配售。预计中签率为每户中0.5签。 核心概念:银行,互联金融。 公司质地:ROE为10%,资产负债率92%,质地一般。当前估值7…