资源预览内容
第1页 / 共10页
第2页 / 共10页
第3页 / 共10页
第4页 / 共10页
第5页 / 共10页
第6页 / 共10页
第7页 / 共10页
第8页 / 共10页
第9页 / 共10页
第10页 / 共10页
亲,该文档总共10页全部预览完了,如果喜欢就下载吧!
资源描述
数据结构课程设计目录一、课程设计要求21.分组设计22.题目选择23.考核标准24.提交材料25.考核等级26.时间安排2二、课程设计报告的书写内容(仅供参考)3三、课程设计题目:3(一)课程设计131.joseph环32.文章编辑33.学生搭配问题44.一元稀疏多项式计算器45.表达式求值4(二)课程设计251.集合基本运算52.运动会分数统计53.内部排序算法比较64.宿舍管理查询软件6(三)课程设计361.校园导游咨询62.哈夫曼编/译码器73.散列法的实验研究84.建立通信网络8附件1:封面格式9附件2:分组登记表10一、课程设计要求1. 分组设计按小组方式进行组织设计,小组成员为45人,班级内自由组合,并确定小组组长,分组名单汇总到各班班长,最后交给老师。2. 题目选择 每个小组至少选择3个题目,其中:在课程设计1中任选1道题,在课程设计2选1道题,在课程设计3中选1道题。3. 考核标准总的要求:组内每位同学,一起协商承担的任务,每人都要参与设计和编程工作,不能只负责撰写论文。评分组成:1)组长对组内成员学习态度和承担设计任务的评价;2)课程设计完成的效果,必要时会采用现场演示和答辩的方式;3)课程设计报告的撰写质量;4. 提交材料每位同学依据所在小组选择的课程设计题,独立撰写课程设计报告,分题目依次撰写。不允许相互间抄袭,否则均以零分计算。 备注:如果是合作完成一个题目的,除了选择的数据结构一样以为,算法部分每个人只写自己完成的那部分,绝对不允许交上来的论文一模一样!。提交材料:纸质的课程设计报告,程序代码:(建议按如下形式打包) 备注:以组为单位打包提交。5. 考核等级评分标准:等级制(优秀、良好、中等、及格、不及格)6. 时间安排1) 布置设计任务:11月13号,发到公共邮箱pspublicmail163.com,密码:ggyx20132) 提交分组名单:布置设计任务后一周内,班长汇总后将分组结果及分组任务表交给老师;3)设计与撰写:上机时间为课内的上机时间和课外自己找时间完成。4)提交截止日期:第16周周三二、课程设计报告的书写内容(仅供参考)1、题目的内容及要求2、需求分析3、概要设计(包括选择什么数据结构?数据结构采用哪种存储方式?选择的原因?设计哪些操作?这些操作之间的调用关系等等)4、详细设计(包括数据结构的类型定义,每个操作的算法描述)5、源代码6、运行结果及分析7、收获及体会三、课程设计题目:(一)课程设计11. joseph环 【问题描述】编号是1,2,,n的n个人按照顺时针方向围坐一圈,每个人只有一个密码(正整数)。一开始任选一个正整数作为报数上限值m,从第一个仍开始顺时针方向自1开始顺序报数,报到m时停止报数。报m的人出列,将他的密码作为新的m值,从他在顺时针方向的下一个人开始重新从1报数,如此下去,直到所有人全部出列为止。设计一个程序来求出出列顺序。【要求】利用单向循环链表存储结构模拟此过程,按照出列的顺序输出各个人的编号。【测试数据】m的初值为20,n=7 ,7个人的密码依次为3,1,7,2,4,7,4,首先m=6,(正确的出列顺序应为6,1,4,7,2,3,5)。【实现提示】 程序运行后,首先要求用户指定初始报数上限值,然后读取各人的密码。可设n30。此题所用的循环链表中不需要“头结点”,请注意空表和非空表的界限。2. 文章编辑【问题描述】输入一页文字,程序可以统计出文字、数字、空格的个数。静态存储一页文章,每行最多不超过80个字符,共N行。【要求】(1)分别统计出其中英文字母数和空格数及整篇文章总字数;(2)统计某一字符串在文章中出现的次数,并输出该次数;(3)删除某一子串,并将后面的字符前移。【存储结构】使用线性表,分别用几个子函数实现相应的功能;【输入数据的形式和范围】可以输入大写、小写的英文字母、任何数字及标点符号。【输出形式】(1)分行输出用户输入的各行字符;(2)分4行输出全部字母数、数字个数、空格个数、文章总字数(3)输出删除某一字符串后的文章。3. 学生搭配问题【问题描述】一班有m个女生,有n个男生(m不等于n),现要开一个舞会。男女生分别编号坐在舞池的两边的椅子上,每曲开始时,依次从男生和女生中各出一人配对跳舞,本曲没成功配对者坐着等待下一曲找舞伴。请设计一系统模拟动态地显示出上述过程。【基本要求】(1)输出每曲配对情况(2)计算出任何一个男生(编号为X)和任意女生(编号为Y),在第K曲配对跳舞的情况。至少求出K的两个值。【提示】用队列来解决比较方便.4. 一元稀疏多项式计算器【问题描述】设计一个一元稀疏多项式简单计算器。【基本要求】一元多项式简单计算器的基本功能是:(1)输入并建立多项式;(2)输出多项式,输出形式为整数序列n,c1,e1,c2,e2,cn,en,其中n是多项式的项数,ci和ei分别是第i项的系数和指数,序列指指数降序排列;(3)多项式a和b相加,建立多项式a+b;(4)多项式a和b相减,建立多项式a-b。【实现提示】用带头结点的单链表存储多项式,多项式的项数存在头结点。5. 表达式求值【问题描述】表达式求值是实现程序设计语言的基本问题之一,也是栈的应用的一个典型例子。设计一个程序,演示用算符优先法对算术表达式求值的过程。【基本要求】以字符序列的形式从终端上输入语法正确的、不含变量的整数表达式。利用教材中给出的算符优先关系,实现对算术四则混合运算表达式的求值,并仿照教材例3-1演示在求值中运算符栈、运算数栈、输入字符和主要操作的变化过程。【实现提示】(1)设置运算栈和运算数栈辅助分析算符优先关系。(2)在输入表达式的字符序列的同时,完成运算符和运算数(整数)的识别处理,以及相应的运算。(3)在识别出运算数的同时,要将其字符序列形式转换成整数形式。(二)课程设计21. 集合基本运算【问题描述】编制一个能演示执行集合的并、交和差运算的程序。允许采用顺序存储或链式存储来实现。【基本要求】(1) 集合的元素限定为小写字符a. .z。(2) 演示程序以用户和计算机的对话方式执行。【测试数据】(1) Set1=”magazine”,Set2=”paper”.Set1Set2=”aegimnprz”,Set1Set2=”ae”,Set1-Set2=”gimnz”.(2) Set1=”012oper4a6tion89”,Set2=”error data”, Set1Set2=”adeinoprt”, Set1Set2=”aeort”, Set1-Set2=”inp”.【实现提示】以有序链表表示集合。2. 运动会分数统计【问题描述】参加运动会有n个学校,学校编号为1n。比赛分成m个男子项目和w个女子项目。项目编号为男子1m和女子m+1m+w。不同的项目取前五名或前三名积分;取前五名的积分分别为:7、5、3、2、1,前三名的积分分别为:5、3、2;哪些取前五名或前三名由学生自己设定。(m=20,n=20)【功能要求】(1)可以输入各个项目的前三名或前五名的成绩;(2)能统计各学校总分,(3)可以按学校编号、学校总分、男女团体总分排序输出;(4)可以按学校编号查询学校某个项目的情况;可以按项目编号查询取得前三或前五名的学校。【规定】输入数据形式和范围:20以内的整数(如果做得更好可以输入学校的名称,运动项目的名称)【输出形式】有中文提示,各学校分数为整形【界面要求】有合理的提示,每个功能可以设立菜单,根据提示,可以完成相关的功能要求。【存储结构】学生自己根据系统功能要求自己设计,但是要求运动会的相关数据要存储在数据文件中。(数据文件的数据读写方法等相关内容在c语言程序设计的书上,请自学解决)请在最后的上交资料中指明你用到的存储结构;【测试数据】要求使用1、全部合法数据;2、整体非法数据;3、局部非法数据。进行程序测试,以保证程序的稳定。测试数据及测试结果请在上交的资料中写明。3. 内部排序算法比较【问题描述】在教科书中,各种内部排序算法的时间复杂度分析结果只给出了算法执行时间的阶,或大概执行时间。试通过随机数据比较各算法的关键字比较次数和关键字移动次数,以取得直观感受。【基本要求】(1)对以下6种常用的内部排序算法进行比较:起泡排序、直接插入排序、简单选择排序、快速排序、希尔排序、堆排序。(2)待排序表的表长不小于100;其中的数据要用伪随机数产生程序产生;至少要用5组不同的输入数据作比较;比较的指标为有关键字参加的比较次数和关键字的移动次数(关键字交换计为3次移动)。(3)最后要对结果作出简单分析,包括对各组数据得出结果波动大小的解释。【测试数据】由随机数产生器生产。【实现提示】主要工作是设法在已知算法中的适当位置插入对关键字的比较次数和异动次数的计数操作。程序还可以考虑几组数据的典型性,如正序、逆序和不同程度的乱序。4. 宿舍管理查询软件【问题描述】为宿舍管理人员编写一个宿舍管理查询软件。【基本要求】(1)采用交互工作方式;(2)建立数据文件 ,数据文件按关键字(姓名、学号、房号)进行排序(冒泡、选择、插入排序等任选一种)。(3)建立查询菜单: (用二分查找实现以下操作)按姓名查询 按学号查询 按房号查询打印任一查询结果(可以连续操作)(三)课程设计31. 校园导游咨询【问题描述】设计一个校园导游程序,为来访的客人提供各种信息查询服务。【基本要求】 (1)设计你的学校的校园平面图,所含景点不少于10个。以图中顶点表示学校各景点,存放景点名称、代号、简介等信息;以边表示路径,存放路径长度等相关信息。(2)为来访客人提供图中任意景点的问路查询,即查询任意两个景点之间的一条最短的简单路径。 (3)为来访客人提供图中任意景点相关信息的查询。【测试数据】由读者根据实际情况指定。【实现提示】一般情况下,校园的道路是双向通行的,可设校园平面图是一个无向网。顶点和边均含有相关信息。2. 哈夫曼编/译码器【问题描述】用哈夫曼编码进行通信可以大大提高信道利用率,缩短信息传输时间,降低传输成本。但是,这要求在发送端通过一个编码系统对待传数据预先编码,在接收端将传 来的数据进行译码(复原)。对于双工信道(即可以双向传输信息的信道),每端都需要一个完整的编/译码系统。试为这样的信息收发站写一个哈夫曼码的编/译码系统。【基本要求】一个完整的系统应具有以下功能:(1)I:初始化(Initialization)。从终端读入字符集大小n,以及n个字符和n个权值,建立哈夫曼树,并将它存于文件hfmTree中。(2)E:编码(Encoding)。利用已建好的哈夫曼树(如不在内存,则从文件hfmTree中读入),对文件ToBeTran中的正文进行编码,然后将结果存入文件CodeFile中。(3)D:译码(Decoding)。利用已建好的哈夫曼树将文件CodeFile中的代码进行译码,结果存入文件TextFile中。(4)P:
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号