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

news2024/11/15 23:17:49

数据结构课程设计[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.coloradmin.cn/o/173797.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

​第四章 Flink 窗口和水位线​

Flink 系列教程传送门 第一章 Flink 简介 第二章 Flink 环境部署 第三章 Flink DataStream API 第四章 Flink 窗口和水位线 第五章 Flink Table API&SQL 第六章 新闻热搜实时分析系统 一、时间概念:事件时间和处理时间 在流式处理的过程中,数据…

详解微信小程序开发中的“数据绑定”和代码样例

简介 首先需要区分微信小程序的运行环境和框架系统。运行环境为小程序在手机当中运行的时候,微信客户端所能提供的环境支持,也就是在这种环境下如何进行数据渲染工作;框架系统则是微信小程序在进行开发的过程中,如何通过代码实现…

数字逻辑理论——组合电路

利用数据选择器设计组合逻辑电路 m:组合电路输入变量个数 n:数据选择器的控制端个数 (1)mn 利用8选1数据选择器设计函数:FAB’A’CBC’ 待设计卡诺图: F∑(1,2,3,4,5,6) (2)m&g…

【每日一题】【LeetCode】【第十九天】【Python】汇总区间

解决之路 题目描述 测试案例&#xff08;部分&#xff09; 第一次 没有想到什么更快的方法&#xff0c;先用两个循环来写出来思路。 class Solution(object):def summaryRanges(self, nums):res []index 0n len(nums)while index < n:if index n - 1:res.append(str…

Spring_FrameWork_07(SpringMVC与SSM整合)

SpringMVC&#xff08;一种基于java实现的轻量级web框架&#xff09; 请求与响应 REST风格 SSM整合 拦截器 public class ServletContainersInitConfig extends AbstractDispatcherServletInitializer {Overrideprotected WebApplicationContext createServletApplicationCont…

【工具】用AI辅助论文/博客的写作:Obsidian+Text Generator的详细安装教程

目录 前言 介绍 Obsidian Text-Generator 使用教程 安装Obsidian 安装Text Generator 插件安装 获取开放 AI API 密钥 插件选项配置 初体验 前言 对于作家、博主和学生来说&#xff0c;这是一个很好的工具&#xff0c;它通过使用最强大的语言模型之一&#xff1a;Ope…

[数据结构基础]链式二叉树的几个典型的基础oj问题

今年是农历腊月二十九&#xff0c;提前祝大家新春快乐。这是我壬寅虎年最后一篇文章&#xff0c;感谢大家的阅读。祝大家兔年吉祥&#xff0c;身体健康、阖家幸福、学业有成、事业如意、财源滚滚&#xff01; 前置说明 本文中所有用到的二叉树及二叉树节点&#xff0c;都是由…

Fabric中的txid exists问题

Fabric 默认配置中tls证书有效期为一年&#xff0c;相信挖了不少的坑&#xff0c;我前段时间写了篇文章介绍了下解决的思路&#xff0c;但是自己真解决起来还是没解决问题&#xff0c;这种分布式企业架构太复杂。 最近有遇到一个奇怪的问题&#xff0c;小伙伴写的存证数据&…

plt自定义水平线和垂直线、水平区域和垂直区域

一、添加x轴y轴垂直辅助线 1、函数 axvline函数&#xff1a;绘制垂直线。axhline函数&#xff1a;绘制水平线。 2、参数 plt.axvline(x0, ymin0, ymax1, c"g", ls"--", lw2, labelNone)。axhline类似 x&#xff1a;垂直线在x轴上的位置。浮点数&#xf…

AcWing1227.分巧克力——学习笔记

目录 题目 代码 AC结果 思路&#xff1a; 一、设置全局变量 二、获取数据 三、当前大小可得到的巧克力数是否满足每个小朋友至少分到一块 四、二分法找每个小朋友可得到的最大大小 题目 1227. 分巧克力 - AcWing题库https://www.acwing.com/problem/content/descripti…

Python---函数相关知识

专栏&#xff1a;python 个人主页&#xff1a;HaiFan. 专栏简介&#xff1a;本专栏主要更新一些python的基础知识&#xff0c;也会实现一些小游戏和通讯录&#xff0c;学时管理系统之类的&#xff0c;有兴趣的朋友可以关注一下。 函数前言函数的使用函数的语法格式函数的参数函…

Python脚本集成SQLite3数据库

文章目录一、Sqlite3数据库的基本使用1.数据库是什么2.数据库分类二、正式开始使用SQLite3&#xff08;Python&#xff09;1.基础sql命令2.Python连接SQLite3①查询②增加③更新一、Sqlite3数据库的基本使用 1.数据库是什么 借用百科上的话&#xff0c;数据库是“按照数据结构…

yolo v8 解决了 v5 的问题嘛?

文章大纲 yolo v8 简介网络结构yolo v8 准确率的提升yolo v8 的速度提升参考文献与学习路径yolo v8 简介 官网: https://ultralytics.com/yolov8https://github.com/triple-Mu/YOLOv8-TensorRT详细介绍: https://learnopencv.com/ultralytics-yolov8/网络结构 yolo v8 准确率…

I.MX6ULL裸机开发笔记3:SDK烧录镜像

目录 一、获取NXP官方SDK 二、Linux安装SDK 三、SDK中相关工具 四、烧录工具 一、获取NXP官方SDK 官方网站MCIMX6ULL-EVK_i.MX6ULL评估套件_NXP 半导体 二、Linux安装SDK ./XXX.run 这里如果提示sudo ./XXX.run 找不到命令&#xff0c;就可以用ls -l查看当前文件夹文件的…

VVDocumenter-Xcode github README.md 中英文翻译

最近在学习 Xcode 的使用&#xff0c;查到有一款用于生成注释文档的插件&#xff1a;VVDocumenter-Xcode 进入其 github 页面之后看 README&#xff0c;看到两句话&#xff1a; 1. Goodbye World&#xff1a; 再不更新了&#xff1f; 2. 从 Xcode 8 之后Apple官方提供了插件做…

Python爬虫---爬虫介绍,实战案例

目录标题1、爬虫介绍1.1 爬虫的合法性1.2 网络爬虫的尺寸1.3 robots.txt协议1.4 http&https协议1.5 requests模块1.5.1 request库的异常2、实战案例2.1 百度页面2.2 爬取京东商品页面2.3 爬取亚马逊商品页面-更改headers2.4 百度/360搜索关键词提交-params2.5 网络图片的爬…

Nacos 报Statement cancelled due to timeout or client request

1. 问题&#xff1a;nacos 启动报错&#xff0c;启动失败&#xff0c;全部报错下面贴出。 2. 结论&#xff1a;排查结果为服务器带宽不够&#xff0c;mysql 查询的数量量太大&#xff0c;传输时间损坏在网络io上&#xff01; 3. 下面开始回溯事故起因&#xff1a; 前期config…

2022年一年级入学小结

2022年即将过去&#xff0c;在这里&#xff0c;简单回顾一下Richard同学进入小学一学期后的成长经历和小结。先说说学校生活Richard很喜欢目前的学校&#xff0c;喜爱给他授课的每一位老师&#xff0c;也和老师和同学们相处得不错&#xff0c;自诩自己现在的”粉丝“蛮多。从我…

C++设计模式(6)——适配器模式

亦称&#xff1a; 封装器模式、Wrapper、Adapter 意图 适配器模式是一种结构型设计模式&#xff0c; 它能使接口不兼容的对象能够相互合作。 问题 假如你正在开发一款股票市场监测程序&#xff0c; 它会从不同来源下载 XML 格式的股票数据&#xff0c; 然后向用户呈现出美…

9.框架SpringMVC

一、基本概念 Spring MVC 是 Spring 提供的一个基于 MVC 设计模式的轻量级 Web 开发框架&#xff0c;本质上相当于 Servlet。Spring MVC 使用 MVC 架构模式的思想&#xff0c;将 Web 应用进行职责解构&#xff0c;把一个复杂的 Web 应用划分成模型&#xff08;Model&#xff09…