首页 > 其他分享 >数据结构课程设计[2023-01-19]

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

时间:2023-01-19 23:14:01浏览次数:65  
标签:编码 课程设计 01 哈夫曼 19 家谱 课程 was

数据结构课程设计[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.

标签:编码,课程设计,01,哈夫曼,19,家谱,课程,was
From: https://www.cnblogs.com/codewriter/p/17062270.html

相关文章

  • P1014 [NOIP1999 普及组] Cantor 表(模拟/枚举)
    https://www.luogu.com.cn/problem/P1014详解见代码内部注释部分#include<bits/stdc++.h>usingnamespacestd;typedeflonglongLL;typedefpair<LL,LL>PII;cons......
  • 2023.1.19 学习初识 JAVA
    C语言1972年诞生了C语言,1982年诞生了C++  1995年诞生了JAVA。C语言贴近硬件,运行速度快,效率极高  (指针和内存管理)操作系统编译器数据库网络系统等C++面向对象......
  • Datawhale组队学习——人工智能:一种现代方法(第四版)Task01学习笔记
    1.1什么是人工智能对于智能的理解:有些人将智能视为内部思维过程和推理的属性,有些人则关注智能的外部特征,也就是智能行为。emmmm,看书之前,我本以为看完之后了会收获很多......
  • 2.1基本算法之枚举 1973:确定进制
    1973:确定进制1.描述6*9=42对于十进制来说是错误的,但是对于13进制来说是正确的。即,6(13)*9(13)=42(13),而42(13)=4*131+2*130=54(10)。你的任务是写......
  • 注意点总结01
    1.导航栏中的链接问题2.表单元素是行内块,有间隙,用浮动清除3. 用于应对:例如,一共5个小模块,4个小模块都需要左边距,设置左边距之后,父盒子的宽度不够,第五个小模块掉下去。......
  • 230119_50_SpringBoot入门
    多环境配置文件指定方式一:properites文件文件名可以是application-{profile}.properties/yml,用来指定多个环境版本:server.port=8081//testserver.port=80......
  • Unity使用VS2019打开代码出现不兼容的解决方法
     目录问题解决附:VS如何更换主题颜色 问题当将外部unitypackage导入Unity编辑器后,使用VS2019打开代码时,出现了如下图所示情况:解决VS安装如下环境:安装完......
  • t团队日常记录 20230119
    今天买了很多菜啊,晚上母亲又拿了几样给我这冰箱。今天还算完成了这个功能了,感觉虽然痛苦并快乐着,有种种困难,包括对程序框架的从陌生到熟悉,也是个过程,包括t团队人员融......
  • 代码随想录day 22 LeetCode 235. 二叉搜索树的最近公共祖先 701. 二叉搜索树中的插入
    235.二叉搜索树的最近公共祖先classSolution{public:TreeNode*lowestCommonAncestor(TreeNode*root,TreeNode*p,TreeNode*q){if(root==NULL)returnNULL......
  • 力扣每日一题2023.1.19---2299. 强密码检验器 II
    如果一个密码满足以下所有条件,我们称它是一个强 密码:   它有至少8 个字符。   至少包含一个小写英文 字母。   至少包含一个大写英文 字母。   至......