没有合适的资源?快使用搜索试试~ 我知道了~
数据结构与算法分析.doc
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 9 浏览量
2022-05-06
20:01:42
上传
评论
收藏 267KB DOC 举报
温馨提示
试读
64页
数据结构与算法分析.doc
资源推荐
资源详情
资源评论
《数据结构与算法分析》
课程设计内容体系主要内容
《数据结构课程设计》课程,可使学生深化理解书本知识,致力于用学过
的理论知识和上机取得的实践经验,解决具体、复杂的实际问题,培养软件工
作者所需的动手能力、独立解决问题的能力。该课程设计侧重软件设计的综合
训练,包括问题分析、总体结构设计、用户界面设计、程序设计基本技能和技
巧、多人合作,以至一整套软件工作规范的训练和科学作风的培养。
一、
课程设计要求
学生必须仔细阅读《数据结构与算法分析》课程设计方案,认真主动完成
课程设计的要求。有问题及时主动通过各种方式与教师联系沟通。
学生要发挥自主学习的能力,充分利用时间,安排好课程设计的时间计划,
并在课程设计过程中不断检测自己的计划完成情况,及时的向教师汇报。
课程设计按照教学要求需要两周时间完成,两周中每天(按每周 5 天)至
少要上 3-4 小时的机来调试 C 语言设计的程序,总共至少要上机调试程序 30 小
时。
二、
数据结构课程设计的具体内容
本次课程设计完成如下模块(共 9 个模块,学生可以在其中至少挑选 6 个功
能块完成,但有**号的模块是必须要选择的)
(1) 运动会分数统计**
任务:参加运动会有 n 个学校,学校编号为 1……n。比赛分成 m 个男子项
目,和 w 个女子项目。项目编号为男子 1……m,女子 m+1……m+w。不同的
项目取前五名或前三名积分;取前五名的积分分别为:7、5、3、2、1,前三名
的积分分别为:5、3、2;哪些取前五名或前三名由学生自己设定。
(m<=20,n<=20)
功能要求:
可以输入各个项目的前三名或前五名的成绩;
能统计各学校总分;
可以按学校编号、学校总分、男女团体总分排序输出;
可以按学校编号查询学校某个项目的情况;可以按项目编号查询取得前
三或前五名的学校。
规定:输入数据形式和范围:20 以内的整数(如果做得更好可以输入学校
的名称,运动项目的名称)
输出形式:有中文提示,各学校分数为整形
界面要求:有合理的提示,每个功能可以设立菜单,根据提示,可以完成
相关的功能要求。
存储结构:学生自己根据系统功能要求自己设计,但是要求运动会的相关
数据要存储在数据文件中。(数据文件的数据读写方法等相关内容在 c 语言程
序设计的书上,请自学解决)请在最后的上交资料中指明你用到的存储结构;
测试数据:要求使用 1、全部合法数据;2、整体非法数据;3、局部非法数
据。进行程序测试,以保证程序的稳定。测试数据及测试结果请在上交的资料
中写明;
(2)订票系统
任务:通过此系统可以实现如下功能:
录入:可以录入航班情况(数据可以存储在一个数据文件中,数据结构、
具体数据自定)
查询:可以查询某个航线的情况(如,输入航班号,查询起降时间,起飞
抵达城市,航班票价,票价折扣,确定航班是否满仓);可以输入起飞抵达城
市,查询飞机航班情况;
订票:可以订票(订票情况可以存在一个数据文件中,结构自己设定),
如果该航班已经无票,可以提供相关可选择航班;
退票:可退票,退票后修改相关数据文件;客户资料有姓名,证件号,订
票数量及航班情况,订单要有编号。
修改航班信息:当航班信息改变可以修改航班数据文件
要求:根据以上功能说明,设计航班信息,订票信息的存储结构,设计程
序完成功能;
(3)文章编辑**
功能:输入一页文字,程序可以统计出文字、数字、空格的个数。静态存
储一页文章,每行最多不超过 80 个字符,共 N 行;
要求:(1)分别统计出其中英文字母数和空格数及整篇文章总字数;(2)
统计某一字符串在文章中出现的次数,并输出该次数;(3)删除某一子串,并
将后面的字符前移。(4)存储结构使用线性表,分别用几个子函数实现相应的
功能;
输入数据的形式和范围:可以输入大写、小写的英文字母、任何数字及标
点符号。
输出形式:(1)分行输出用户输入的各行字符;(2)分 4 行输出"全部字
母数"、"数字个数"、"空格个数"、"文章总字数"(3)输出删除某一字符串后的
文章;
(4)约瑟夫环(Joseph)
任务:编号是 1,2,……,n 的 n 个人按照顺时针方向围坐一圈,每个人只
有一个密码(正整数)。一开始任选一个正整数作为报数上限值 m,从第一个仍
开始顺时针方向自 1 开始顺序报数,报到 m 时停止报数。报 m 的人出列,将他
2
的密码作为新的 m 值,从他在顺时针方向的下一个人开始重新从 1 报数,如此
下去,直到所有人全部出列为止。设计一个程序来求出出列顺序。
要求:利用单向循环链表存储结构模拟此过程,按照出列的顺序输出各个
人的编号。
测试数据:m 的初值为 20,n=7 ,7 个人的密码依次为
3,1,7,2,4,7,4,首先 m=6,则正确的输出是什么?
输入数据:建立输入处理输入数据,输入 m 的初值,n ,输入每个人的密
码,建立单循环链表。
输出形式:建立一个输出函数,将正确的输出序列
(5)猴子选大王**
任务:一堆猴子都有编号,编号是 1,2,3 ...m ,这群猴子(m 个)按照 1-m
的顺序围坐一圈,从第 1 开始数,每数到第 N 个,该猴子就要离开此圈,这样
依次下来,直到圈中只剩下最后一只猴子,则该猴子为大王。
输入数据:输入 m,n m,n 为整数,n<m
输出形式:中文提示按照 m 个猴子,数 n 个数的方法,输出为大王的猴子
是几号 ,建立一个函数来实现此功能
(6)建立二叉树,层序、先序遍历( 用递归或非递归的方法都可以)**
任务:要求能够输入树的各个结点,并能够输出用不同方法遍历的遍历序
列;分别建立建立二叉树存储结构的的输入函数、输出层序遍历序列的函数、
输出先序遍历序列的函数;
(7)赫夫曼树的建立
任务 :建立建立最优二叉树函数
要求:可以建立函数输入二叉树,并输出其赫夫曼树
在上交资料中请写明:存储结构、 基本算法(可以使用程序流程图) 、输
入输出、源程序、测试数据和结果、算法的时间复杂度、另外可以提出算法的
改进方法;
(8)纸牌游戏**
任务:编号为 1-52 张牌,正面向上,从第 2 张开始,以 2 为基数,是 2 的
倍数的牌翻一次,直到最后一张牌;然后,从第 3 张开始,以 3 为基数,是 3
的倍数的牌翻一次,直到最后一张牌;然后…从第 4 张开始,以 4 为基数,是 4
的倍数的牌翻一次, 直到最后一张牌;...再依次 5 的倍数的牌翻一次,6 的,7
的 直到 以 52 为基数的 翻过,输出:这时正面向上的牌有哪些?
(9)图的建立及输出
任务:建立图的存储结构(图的类型可以是有向图、无向图、有向网、无
向网,学生可以任选两种类型),能够输入图的顶点和边的信息,并存储到相
应存储结构中,而后输出图的邻接矩阵。
3
要求:给出图的深度优先和广度优先遍历算法,并给出遍历过程的动态演
示效果
三、
上交相关内容要求
上交的成果的内容必须由以下四个部分组成,缺一不可
1. 上交源程序:学生按照课程设计的具体要求所开发的所有源程序(应该
放到一个文件夹中);
2. 上交程序的说明文件:(保存在.txt 中)在说明文档中应该写明上交程
序所在的目录,上交程序的主程序文件名,如果需要安装,要有程序的安装使
用说明;
3. 课程设计报告:(保存在 word 文档中,文件名要求 按照"姓名-学号-课
程设计报告"起名,如文件名为"张三-001-课程设计报告".doc )按照课程设计的
具体要求建立的功能模块,每个模块要求按照如下几个内容认真完成;
其中包括:
需求分析:在该部分中叙述,每个模块的功能要求
概要设计:在此说明每个部分的算法设计说明(可以是描述算法的流程
图),每个程序中使用的存储结构设计说明(如果指定存储结构请写出
该存储结构的定义。
详细设计:各个算法实现的源程序,对每个题目要有相应的源程序(可
以是一组源程序,每个功能模块采用不同的函数实现)源程序要按照写
程序的规则来编写。要结构清晰,重点函数的重点变量,重点功能部分
要加上清晰的程序注释。
调试分析:测试数据,测试输出的结果,时间复杂度分析,和每个模块
设计和调试时存在问题的思考(问题是哪些?问题如何解决?),算法
的改进设想。
4. 课设总结: (保存在 word 文档中)总结可以包括 : 课程设计 过程的收获、
遇到问题、遇到问题解决问题过程的思考、程序调试能力的思考、对数据结构
这门课程的思考、在课程设计过程中对《数据结构》课程的认识等内容
《数据结构与算法分析》
――课程内容体系主要内容
教学单元模块 具体教学内容
绪论 绪论部分是全书的预备知识,主要对 ADL 语言、数据结构
与算法、算法分析基础、OOP、和 C++做了简单介绍
4
基本数据结构 基本数据结构部分包括线性表、堆栈与队列、数组、字符
串、整数集合类、树(包括 AVL 树、伸展树等)、图(包
括网络流等问题的讨论)、散列(Hash)等
典型算法 典型算法部分主要介绍了若干典型算法的实现,并给出必
要的复杂性分析和比较过程,具体包括递归、排序、查找
和内存管理等
复杂数据结构 复杂数据结构部分主要包括优先级队列、不相交集合类和
文件结构等
算法设计技巧 典型算法设计技巧的介绍,主要包括贪婪算法、分治算
法、动态规划、回溯算法和随机化算法等
应用 应用部分是上述数据结构和典型算法的一些应用示例,具
体包括事件驱动模拟、等价类、残缺棋盘和图象压缩等问
题的讨论,在课时允许的情况下还会介绍摊还分析、红黑
树等
5
剩余63页未读,继续阅读
资源评论
老帽爬新坡
- 粉丝: 79
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功