数据结构与算法课程设计大作业

2023-05-16

 

考   核   要  求

课程编号:   400802010       课程名称:    数据结构与算法课程设计   考试形式:   大作业       

大作业1-9见我的下载 里面包含多个版本的设计 文件有cpp文件设计文档总结等

                                 

一、设计考核说明

学生必须仔细阅读《数据结构》课程设计方案,认真主动完成课设的要求。有问题及时主动与教师沟通。

学生要发挥自主学习的能力,充分利用时间,安排好课设的时间计划,并在课设过程中不断检测自己的计划完成情况,及时的向教师汇报。

课程设计按照教学要求需要周时间完成

 

二、具体要求:

1.学生在选题范围中选择设计题目,选题根据学号的尾号定题目,例如尾号为1的选择第一题,以此类推,尾号为0和9的选第九题。

2.学生单独进行相应软件项目的设计、实现工作,独立提交完整文档。

3.提交文档雷同,第2名及以后作不及格处理。

4.要求按照系统设计规范来撰写设计报告。报告包括封面(项目的题目、姓名等)、目录、主体设计部分以及后记。文档每人一份。

5.要求内容完整,结构清晰,最终提交电子文档一份。

 

三、设计题目选题表

1、运动会分数统计问题。

【问题描述】

参加运动会有n个学校,学校编号为1„„n。比赛分成m个男子项目,和w个女子项目。项目编号为男子1„„m,女子m+1„„m+w。不同的项目取前五名或前三名积分;取前五名的积分分别为:7、5、3、2、1,前三名的积分分别为:5、3、2;哪些取前五名或前三名由学生自己设定。(m<=20,n<=20)。

【实现要求】

(1)可以输入各个项目的前三名或前五名的成绩;

(2)能统计各学校总分;

(3)可以按学校编号、学校总分、男女团体总分排序输出;

(4)可以按学校编号查询学校某个项目的情况;可以按项目编号查询取得前三或前五名的学校;

(5)数据存入文件并能随时查询;

(6)输入数据形式和范围:可以输入学校的名称,运动会项目的名称。

【实现提示】

  1. 输出有中文提示,各学校分数为整形;
  2. 每个功能可以设立菜单,用户根据提示实现相关功能;
  3. 存储结构可采参考图的邻接表,自行设计。
  4. 设计报告中应有数据测试部分说明。

代码:https://download.csdn.net/download/sereasuesue/12530524

2、学生成绩管理系统

【问题描述】

现有学生成绩信息文件1(1.txt),内容如下

姓名    学号   语文  数学   英语    

张明明  01     67    78      82

李成友  02     78    91      88

张辉灿  03     68    82      56

王露    04     56    45      77

陈东明  05     67    38      47

….      ..      ..     ..       …

学生成绩信息文件2(2.txt),内容如下:

姓名    学号   语文  数学   英语    

陈果    31     57    68      82

李华明  32     88    90      68

张明东  33     48    42      56

李明国  34     50    45      87

陈道亮  35     47    58      77

….      ..      ..     ..       …

【实现要求】

试编写一管理系统,要求如下:

(1)实现对两个文件数据进行合并,生成新文件3.txt

(2)抽取出三科成绩中有补考的学生并保存在一个新文件4.txt

(3)对合并后的文件3.txt中的数据按总分降序排序(至少采用两种排序方法实现)

(4)输入一个学生姓名后,能查找到此学生的信息并输出结果(至少采用两种查找方法实现)

(5)要求使用结构体,链或数组等实现上述要求.

https://download.csdn.net/download/sereasuesue/12530449

3、药店的药品销售统计系统(排序应用)

【问题描述】

设计一系统,实现医药公司定期对销售各药品的记录进行统计,可按药品的编号、单价、销售量或销售额做出排名。

【实现要求】

在本设计中,首先从数据文件中读出各药品的信息记录,存储在顺序表中。各药品的信息包括:药品编号、药名、药品单价、销出数量、销售额。药品编号共4位,采用字母和数字混合编号,如:A125,前一位为大写字母,后三位为数字,按药品编号进行排序时,可采用基数排序法。对各药品的单价、销售量或销售额进行排序时,可采用多种排序方法,如直接插入排序、冒泡排序、快速排序,直接选择排序等方法。在本设计中,对单价的排序采用冒泡排序法,对销售量的排序采用快速排序法,对销售额的排序采用堆排序法。

【实现提示】

药品信息的元素类型定义:

typedef struct node

{ char num[4];  /*药品编号*/

  char name[10]; /*药品名称*/

  float price;  /*药品单价*/

  int count;    /*销售数量*/

  float sale;  /*本药品销售额*/

 }DataType;

 

存储药品信息的顺序表的定义:

typedef struct

{ DataType r[MaxSize];  

  int length;

}SequenList;

https://download.csdn.net/download/sereasuesue/12530528

4、哈夫曼编/译码器问题:

【问题描述】

利用哈夫曼编码进行信息通讯可以大大提高信道利用率,缩短信息传输时间,降低传输成本。但是,这要求在发送端通过一个编码系统对待传数据预先编码;在接收端将传来的数据进行译码(复原)。

【实现要求】

系统应具有以下功能:

(1)初始化(Initialization)。从终端读入字符集大小n,及n个字符和m个权值,建立哈夫曼树,并将它存于文件hfmtree中。  

(2)编码(Coding)。利用已建好的哈夫曼树(如不在内存,则从文件hfmtree中读入)对文件tobetrans中的正文进行编码,然后将结果存入文件codefile中。   

(3)译码(Decoding)。利用已建好的哈夫曼树将文件codefile中的代码进行译码,结果存入文件textfile中。

(4)用下表给出的字符集和频度的实际统计数据建立哈夫曼树,并实现以下报文的编码和译码:“THIS PROGRAM IS MY FAVORITE”。

字符

A

B

C

D

E

F

G

H

I

J

K

L

M

频度

64

13

22

32

103

21

15

47

57

1

5

32

20

字符

N

O

P

Q

R

S

T

U

V

W

X

Y

Z

频度

57

63

5

1

48

51

80

23

8

18

1

16

1

【实现提示】

可以根据题目要求把程序划成3个模块,设计成菜单方式,每次执行一个模块后返回菜单。除了初始化过程外,在每次执行时都经过一次读取磁盘文件数据。这是为了如果在程序执行后一直没有进行初始化(1)过程,为了能使后面的操作顺利进行,可以通过读取旧的数据来进行工作。比如:如果程序的工作需要的字符集和权值数据是固定的,只要在安装程序时进行一次初始(1)化操作就可以了。再在次运行程序时,不管进行哪项操作都可以把需要的数据读入到内存。

代码:https://download.csdn.net/download/sereasuesue/12530536

 

5、校园导游程序

【问题描述】

用无向网表示你所在学校的校园景点平面图,图中顶点表示主要景点,存放景点的编号、名称、简介等信息,图中的边表示景点间的道路,存放路径长度等信息。要求能够回答有关景点介绍、游览路径等问题。

【设计要求】

设计要求如下:

(1)设计出你设定学校的校园景点平面图;

(2)查询各景点的相关信息;  

(3)查询图中任意两个景点间的最短路径。

(4)增加、删除、更新有关景点和道路的信息。

https://download.csdn.net/download/sereasuesue/12530539

6、模拟计算器.算术表达式的求解

【问题描述】

给定一个算术表达式,通过程序求出最后的结果。

【实现要求】

(1)数值:包括整数和实数,数值可带正、负号。

(2)运算符:正号、负号、加、减、乘、除、求模和乘方,其中可以包含括号。

【实现提示】

(1)从键盘输入要求解的算术表达式;

(2)采用栈结构进行算术表达式的求解过程;

(3)能够判断算术表达式正确与否;

(4)对于错误表达式给出提示;

(5)对于正确的表达式给出最后的结果;

https://download.csdn.net/download/sereasuesue/12530546

7、文章编辑

【问题描述】

功能:输入一页文字,程序可以统计出文字、数字、空格的个数。

静态存储一页文章,每行最多不超过80个字符,

【设计要求】

(1)分别统计出其中英文字母数和空格数及整篇文章总字数;

(2)统计某一字符串在文章中出现的次数,并输出该次数;

(3)删除某一子串,并将后面的字符前移。

【实现提示】

存储结构使用线性表,分别用几个子函数实现相应的功能;

输入数据的形式和范围:可以输入大写、小写的英文字母、任何数字及标点符号。

输出形式:

(1)分行输出用户输入的各行字符;

(2)分4行输出"全部字母数"、"数字个数"、"空格个数"、"文章总字数"

(3)输出删除某一字符串后的文章;

https://download.csdn.net/download/sereasuesue/12530553

8、停车场管理

【问题描述】  

设有一个可以停放n辆汽车的狭长停车场,它只有一个大门可以供车辆进出。车辆按到达停车场时间的早晚依次从停车场最里面向大门口处停放(最先到达的第一辆车放在停车场的最里面)。如果停车场已放满n辆车,则后来的车辆只能在停车场大门外的便道上等待,一旦停车场内有车开走,则排在便道上的第一辆车就进入停车场。停车场内如有某辆车要开走,在它之后进入停车场的车都必须先退出停车场为它让路,待其开出停车场后,这些车辆再依原来的次序进场。每辆车在离开停车场时,都应根据它在停车场内停留的时间长短交费。如果停留在便道上的车未进停车场就要离去,允许其离去,不收停车费,并且仍然保持在便道上等待的车辆的次序。编制一程序模拟该停车场的管理。

【实现要求】 

要求程序输出每辆车到达后的停车位置(停车场或便道上),以及某辆车离开停车场时应交纳的费用和它在停车场内停留的时间。

【实现提示】

汽车的模拟输入信息格式可以是:(到达/离去,汽车牌照号码,到达/离去的时刻)。例如,(‘A’,1,5)表示1号牌照车在5这个时刻到达,而(‘D’,5,20)表示5号牌照车在20这个时刻离去。整个程序可以在输入信息为(‘E’,0,0)时结束。本题可用栈和队列来实现。设计并实现一个交通咨询系统。

https://download.csdn.net/download/sereasuesue/12530556

9、散列表的设计与实现

【问题描述】

设计散列表实现电话号码查找系统。

【基本要求】

(1)设每个记录有下列数据项:电话号码、用户名、地址;

(2)从键盘输入各记录,分别以电话号码和用户名为关键字建立散列表;

(3)采用一定的方法解决冲突;

(4)查找并显示给定电话号码的记录;

(5)查找并显示给定用户名的记录。

【进一步完成内容】

(1)系统功能的完善;

(2)设计不同的散列函数,比较冲突率;

(3)在散列函数确定的前提下,尝试各种不同类型处理冲突的方法,考察平均查找长度的变化。

https://download.csdn.net/download/sereasuesue/12530558

附:上交相关内容要求

上交的成果的内容必须由以下四个部分组成,缺一不可

1. 上交源程序:学生按照课程设计的具体要求所开发的所有源程序(应该放到一个文件夹中);

2. 上交程序的说明文件:(保存在.txt中)在说明文档中应该写明上交程序所在的目录,上交程序的主程序文件名,如果需要安装,要有程序的安装使用说明;

3. 课程设计报告:(保存word 97-2003格式文档,文件名要求按照"学号-姓名-课程设计报告",文件扩展名为“.doc”,如文件名为1111111112-XX-课程设计报告.doc )按照课程设计的具体要求建立的功能模块,每个模块要求按照如下几个内容认真完成;

其中包括:

(1)需求分析:

在该部分中叙述,每个模块的功能要求

(2)概要设计

在此说明每个部分的算法设计说明(可以是描述算法的流程图),每个程序中使用的存储结构设计说明(如果指定存储结构请写出该存储结构的定义。

(3)详细设计

各个算法实现的源程序,对每个题目要有相应的源程序(可以是一组源程序,每个功能模块采用不同的函数实现)

源程序要按照写程序的规则来编写。要结构清晰,重点函数的重点变量,重点功能部分要加上清晰的程序注释。

(4)调试分析

测试数据,测试输出的结果,时间复杂度分析,和每个模块设计和调试时存在问题的思考(问题是哪些?问题如何解决?),算法的改进设想。

4. 课设总结:

存为word 97-2003格式。总结可以包括 : 课程设计过程的收获、遇到问题、遇到问题解决问题过程的思考、程序调试能力的思考、对数据结构这门课程的思考、在课程设计过程中对本门课程的认识等内容

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

数据结构与算法课程设计大作业 的相关文章

  • 使用devenv/MSBuild在命令行编译单个project

    一 使用devenv来build单个project devenv是VisualStudio的可执行程序 xff0c 一般安装在 C Program Files x86 Microsoft Visual Studio 10 0 Common7
  • 解决ROS常遇到的Couldn’t find executable named报错解决

    解决办法 xff1a 将执行文件打开权限允许作为程序执行文件
  • ubuntu下QtCreator启动无响应问题解决

    QtCreator正常使用 xff0c 系统重启后一打开就卡死 xff0c 无响应状态 xff0c 重装也没用 xff0c 查了半天才解决 解决方法 xff1a 删除系统配置目录下的QtProject文件夹 具体实施 xff1a 1 fin
  • PTA 数据结构 6-2 顺序表基本操作

    6 2 顺序表基本操作 xff08 10 分 xff09 本题要求实现顺序表元素的增 删 查找以及顺序表输出共4个基本操作函数 L是一个顺序表 xff0c 函数Status ListInsert Sq SqList amp L int po
  • Typora 的 markdown 语法

    Typora 的 markdown 语法 1 标题 使用简单的 ctrl 43 数字键 就可以快速完成各种级别的标题 也可以使用 表示一级标题 xff0c 表示二级标题 xff0c 以此类推 xff0c 有6个标题 2 下划线 ctrl 4
  • css弹性布局和相关属性

    弹性布局 弹性布局主要是解决移动端的问题 xff0c 但是并不代表它不能适用于PC端 xff0c 它最重要的技术就是一个叫弹性盒子 xff08 flexbox xff09 的东西 弹性盒子最主要的几个属性如下 display flex 这个
  • CSS动画

    CSS动画 CSS3的动画属性 下面的表格列出了 64 keyframes 规则和所有动画属性 xff1a 属性描述CSS 64 keyframes规定动画 3animation所有动画属性的简写属性 xff0c 除了 animation
  • JavaScript简介

    JavaScript 它是一种脚本语言 xff0c 提供页面与用户的交互途径 xff0c 主要包含三个方面的东西 ECMAScript ES 它主要是用来定义JavaScript的语法规范 xff0c 现在主流的版本是5 1 后期的主要部分
  • JavaScript 输出 语法

    JavaScript 显示方案 JavaScript 不提供任何内建的打印或显示函数 JavaScript 能够以不同方式 显示 数据 xff1a 使用 window alert 写入警告框使用 document write 写入 HTML
  • JavaScript 条件语句

    JavaScript 条件语句 条件语句 通常在写代码时 xff0c 您总是需要为不同的决定来执行不同的动作 您可以在代码中使用条件语句来完成该任务 在 JavaScript 中 xff0c 我们可使用以下条件语句 xff1a if 语句
  • JavaScript 循环

    JavaScript 支持不同类型的循环 xff1a for 循环代码块一定的次数for in 循环遍历对象的属性while 当指定的条件为 true 时循环指定的代码块do while 同样当指定的条件为 true 时循环指定的代码块 F
  • android系统logcat日志重定向到kernel,可以通过串口来输出

    修改system core rootdir init rc chmod 0660 sys power wake lock chmod 0660 sys power wake unlock 43 chmod 0660 proc kmsg St
  • JavaScript 数组知识图

  • javascript DOM 知识图

    HTML DOM 文档对象模型 当网页被加载时 xff0c 浏览器会创建页面的文档对象模型 xff08 Document Object Model xff09 主要目的就是把网页里面的元素当成对象一样支配 HTML DOM 定义了用于 HT
  • JavaScript 能够改变页面中的所有 HTML 元素

    JavaScript 能够改变页面中的所有 HTML 元素 改变 HTML 输出流 JavaScript 能够创建动态的 HTML 内容 xff1a 在 JavaScript 中 xff0c document write 可用于直接向 HT
  • audio 音频标签的使用 及实例

    audio 音频标签的使用 属性值描述autoplayautoplay如果出现该属性 xff0c 则音频在就绪后马上播放 controlscontrols如果出现该属性 xff0c 则向用户显示音频控件 xff08 比如播放 暂停按钮 xf
  • jQuery简介及简单语法

    什么是 jQuery xff1f jQuery是一个JavaScript函数库 jQuery是一个轻量级的 34 写的少 xff0c 做的多 34 的JavaScript库 jQuery库包含以下功能 xff1a HTML 元素选取HTML
  • jQuery里面的选择器

    jQuery里面的选择器 jQuery里面的选择器多种多样 xff0c 它支持css1 css3的选择器 xff0c 老版本的jQuery还支持Xpath的选择器 xff0c 在原来的CSS选择器上面又扩展了一些新的选择器 jQuery支持
  • jQuery事件

    什么是事件 xff1f 页面对不同访问者的响应叫做事件 事件处理程序指的是当 HTML 中发生某些事件时所调用的方法 jQuery 是为事件处理特别设计的 实例 xff1a 在元素上移动鼠标 选取单选按钮点击元素 在事件中经常使用术语 34
  • JavaScript 存储对象 sessionStorage (会话存储) 和 localStorage(本地存储)

    JavaScript 存储对象 Web 存储 API 提供了 sessionStorage xff08 会话存储 xff09 和 localStorage xff08 本地存储 xff09 两个存储对象来对网页的数据进行添加 删除 修改 查

随机推荐

  • 配色网站

    01渐变色 https www grabient com ref 61 producthunt 02 New Flat UI Color Picker 网站地址 xff1a http www flatuicolorpicker com Ne
  • AJAX 语法

    AJAX 创建 XMLHttpRequest 对象 XMLHttpRequest 用于在后台与服务器交换数据 这意味着可以在不重新加载整个网页的情况下 xff0c 对网页的某部分进行更新 创建 XMLHttpRequest 对象 所有现代浏
  • mtk平台dmesg配置

    mtk平台dmesg log buffer设置 CONFIG LOG BUF SHIFT
  • onreadystatechange 事件

    onreadystatechange 事件 当请求被发送到服务器时 xff0c 我们需要执行一些基于响应的任务 每当 readyState 改变时 xff0c 就会触发 onreadystatechange 事件 readyState 属性
  • 微信小程序开发

    官方文档 https developers weixin qq com miniprogram dev 微信小程序基础 一 安装微信开发者工具 安装地址 https developers weixin qq com miniprogram
  • c#实验一

    该文档包含部分代码 若下载工程文件可以https download csdn net download sereasuesue 12057862 xff08 1 xff09 编写一个Windows应用程序 xff0c 计算n xff0c n
  • c#实验2 3

    上机练习题 xff08 1 xff09 构造一个类 xff0c 可以分别对任意多个整数 小数或字符串进行排序 答 xff1a 具体步骤和主要代码如下 xff1a 创建一个控制台应用程序exerciseSort 在Program cs文件中定
  • Javaweb大作业文档部分预览

    完整文档见https download csdn net download gd88081801 10149302 代码文件见https download csdn net download sereasuesue 12063101 目录
  • 人机交互大作业文档预览

    下载地址https download csdn net download sereasuesue 12063370 人机交互期末大作业 目录 一 设计题目 2 二 核心技术 2 三 功能实现 2 登录功能 2 四 界面设计 4 设计风格 8
  • 委托(Delegate)

    C 中的委托 xff08 Delegate xff09 类似于 C 或 C 43 43 中函数的指针 委托 xff08 Delegate xff09 是存有对某个方法的引用的一种引用类型变量 引用可在运行时被改变 委托 xff08 Dele
  • c#控制台输入输出

    控制台输出 C 控制台程序一般使用 NET Framework Console 类提供的输入 输出服务 Console WriteLine 34 Hello World 34 语句使用 WriteLine 方法 它在命令行窗口中显示其字符串
  • DAY 1

    DAY 1 温故而知新 可以为师矣 例子 xff08 仿照例子逻辑拆解单词 xff09 e vident 明显的 xff0c 明白的 e出 43 vid看 查 43 ent 的 看出来了 明显的 placid pl s d adj 平静的
  • day2

    malevolent m l v l nt adj 恶毒的 xff1b 心肠坏的 male volent male坏的 43 vol意愿 43 ent 形容词后缀 有坏的意愿 adj 恶毒的 xff1b 心肠坏的 benediction b
  • wsl ubuntu18.04 编译ffmpeg

    编译错误见ffbuild config log xff0c 文件有执行 configure的错误提示 1 安装 nasm sudo apt install nasm 2 安装pkg config sudo apt get install p
  • c#程序设计 大作业

    第一题 xff1a 控制台程序设计题 设计一个有继承机制下类的层次化结构程序 该程序中基类为一个圆Circle是抽象类 在Circle类中定义数据成员半径r 圆心位置坐标p x Y 为另外一个Point类的对象 以及抽象方法area 和vo
  • python中安装包或者更新包出现Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None))…

    问题 python中安装包或者更新包出现Retrying Retry total 61 4 connect 61 None read 61 None redirect 61 None status 61 None pip的下载源存在国外和国
  • 安装dib出现问题 CMake编译问题

    解决方案 安装dlib前需要先安装cmake 和boost 然后才能正确安装dlib pip install boost pip install cmake pip install dib 报错信息 Installing collected
  • 新年期间,如何与沉迷阴谋论的亲戚们斗智斗勇?20200129

    How to fend off your conspiracy obsessed relatives during the holiday season 新年期间 xff0c 如何与沉迷阴谋论的亲戚们斗智斗勇 xff1f It s the
  • coronavirus spreads

    WHO declares global emergency as Wuhan coronavirus spreads 武汉新冠疫情扩散 xff0c 世卫发布全球卫生紧急状态 The World Health Organization dec
  • 数据结构与算法课程设计大作业

    考 核 要 求 课程编号 xff1a 400802010 课程名称 xff1a 数据结构与算法课程设计 考试形式 xff1a 大作业 大作业1 9见我的下载 里面包含多个版本的设计 文件有cpp文件设计文档总结等 一 设计考核说明 xff1