数据结构课程设计任务书13141 网络1234.docx

上传人:b****6 文档编号:3038871 上传时间:2022-11-17 格式:DOCX 页数:17 大小:31.17KB
下载 相关 举报
数据结构课程设计任务书13141 网络1234.docx_第1页
第1页 / 共17页
数据结构课程设计任务书13141 网络1234.docx_第2页
第2页 / 共17页
数据结构课程设计任务书13141 网络1234.docx_第3页
第3页 / 共17页
数据结构课程设计任务书13141 网络1234.docx_第4页
第4页 / 共17页
数据结构课程设计任务书13141 网络1234.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

数据结构课程设计任务书13141 网络1234.docx

《数据结构课程设计任务书13141 网络1234.docx》由会员分享,可在线阅读,更多相关《数据结构课程设计任务书13141 网络1234.docx(17页珍藏版)》请在冰豆网上搜索。

数据结构课程设计任务书13141 网络1234.docx

数据结构课程设计任务书13141网络1234

《数据结构》课程设计任务书

学期:

13-14-1班级:

网络123、4

一、设计目的

《数据结构》是一门实践性较强的软件基础课程,为了学好这门课程,必须在掌握理论知识的同时,加强上机实践。

本课程设计的目的就是要达到理论与实际应用相结合,使同学们能够根据数据对象的特性,学会数据组织的方法,能把现实世界中的实际问题在计算机内部表示出来,并培养基本的、良好的程序设计技能。

二、设计要求

1、通过这次设计,要求在数据结构的逻辑特性和物理表示、数据结构的选择应用、算法的设计及其实现等方面加深对课程基本内容的理解。

同时,在程序设计方法以及上机操作等基本技能和科学作风方面受到比较系统和严格的训练。

2、学生必须仔细研读《数据结构》课程设计(实习)要求,以学生自学为主、指导教师指导为辅,认真、独立地完成课程设计的任务,有问题及时主动与指导教师沟通。

3、本次课程设计按照教学要求需要在三周时间内独立完成,学生要发挥自主学习的能力,充分利用时间,安排好课设的时间计划,并在课设过程中不断检测自己的计划完成情况,及时地向指导教师汇报。

4、编程语言任选。

三、设计选题

说明:

课程设计题目主要分为两大类:

一是基础类题,主要是验证性题,少数是简单的综合性题,侧重考查学生对数据结构课程中重要数据结构和算法的理解与掌握程度,相对较简单;

本类题目选题要求:

要求个人所选题目必须独立完成;原则上不得参考别人的程序,若个人能力有限必须参考,参考成分不得超过30%,其中参考部分自己必须能消化吸收,否则视为无效;为培养学生分析问题、解决问题的实际动手能力和团队协作能力,鼓励有能力的学生尽可能选作难度较高的题目或第二类题目,故仅故仅选作第一类题目中一星题目的学生,无论完成多少题目,原则上最高分不超出75分;仅选作第一类题目中一星和二星题目的学生,无论完成多少题目,原则上最高分不超出85分;仅选作第一类题目中三星和四星题目的学生,无论完成多少题目,原则上最高分不超出92分;选择其他第一类题目中组合类题目的学生无论完成多少题目,原则上最高分不超出85分;

二是提高类题,主要是设计性题,侧重考查学生综合能力,包括灵活利用所学知识(主要是数据结构和算法等相关知识)去分析问题、解决问题的实际动手能力以及团队协作精神和协调能力;题目相对较难,多数题目无现成算法,考验学生的创新能力和综合素质。

本类题目选题要求:

每个题目的可以有三名同学组成一个三人小组共同协作完成(可以自由组队),三人分工负责算法设计、程序编写、测试数据设计与测试等基本工作。

算法设计、代码编写以及测试的工作难度不同,其工作的分数分配也应不同,我们采用40:

30:

30的分配制度,原则上每人至少(必须)在三个题目中将三种角色分别成功体验一遍,才能得到及格分,每个队至少出色地完成9题有一定难度的试题(每位队员至少做3题)才有可能得到优秀,建议每队做9题以上。

注意:

上述题目,尤其是第二类题目,严禁搭便车,杜绝拷贝或分享别人的劳动果实,坚决杜绝让别人代做。

一经发现、核实,无论是拷贝者或是被拷贝者的成绩均视为不及格,情节严重者将交由计算机学院学工办通报批评并受到相应的纪律处分。

一〉.基础类题目

选题说明:

一个*的题代表满分10分,出色完成者方可得满分,下同;两个*的代表满分15分,三个*的题代表满分30分,四个*的题代表60分。

验收时将根据实际选做题目的分值和数量以及实现程序的完善性可以适当加减分;同学们在选题时,要结合个人实际情况,保障及格,力争多做。

1、散列表的设计与实现(**)

任务:

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

要求:

(1)设每个记录有下列数据项:

用户名、电话号码、地址;

(2)从键盘输入各记录,以用户名(汉语拼音形式)为关键字建立散列表;

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

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

选作内容:

(1)系统功能的完善;

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

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

2、迷宫求解(**)

  任务:

可以输入一个任意大小的迷宫数据,用非递归的方法求出一条走出迷宫的路径,并将路径输出;

要求:

在上交资料中请写明:

存储结构、基本算法(可以使用程序流程图)、源程序、测试数据和结果、算法的时间复杂度、另外可以提出算法的改进方法;

3、文章编辑(*)

功能:

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

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

要求:

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

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

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

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

输入数据的形式和范围:

可以输入大写、小写的英文字母、任何数字及标点符号。

输出形式:

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

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

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

4、猴子选大王(*)

任务:

一堆猴子都有编号,编号是1,2,3...m,这群猴子(m个)按照1--m的顺序围坐一圈,从第1开始数,每数到第N个,该猴子就要离开此圈,这样依次下来,直到圈中只剩下最后一只猴子,则该猴子为大王。

要求:

(注:

分别顺序存储结构和链式存储实现)

输入数据:

输入m,n。

m,n为整数,n

输出形式:

中文提示按照m个猴子,数n个数的方法,输出为大王的猴子是几号,建立一个函数来实现此功能

5、线索二叉树(**)

任务:

1.建立中序线索二叉树,并且中序遍历;

2.求中序线索二叉树上已知结点中序的前驱和后继;

6、基数排序(**)

 任务:

假设有n个待排序记录,记录Ri的关键字为Keyi,Keyi由d位十进制数字组成,即Keyi=Ki1Ki2Ki3…Kid,试分别采用链式存储结构和顺序存储结构实现基数排序。

提示:

为提高基数排序效率,采用顺序储结构的方式可以仿造稀疏矩阵转置中的交换方法实现。

7、运动会分数统计(**)

任务:

参加运动会有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)可以按学校编号查询学校某个项目的情况;可以按项目编号查询取得前三或前五名的学校。

规定:

输入数据形式和范围:

20以内的整数(如果做得更好可以输入学校的名称,运动项目的名称)

输出形式:

有中文提示,各学校分数为整形

界面要求:

有合理的提示,每个功能可以设立菜单,根据提示,可以完成相关的功能要求。

存储结构:

学生自己根据系统功能要求自己设计,但是要求运动会的相关数据要存储在数据文件中。

(数据文件的数据读写方法等相关内容在c语言程序设计的书上,请自学解决)请在最后的上交资料中指明你用到的存储结构;

相关数据结构(参考):

项目名次及分值:

用二位数组Score[m+w][5];

单项获奖情况登记表(项目编号,获奖名次、获奖学校,得分(自动得分))

学校获奖名次表(学校编号,团体总分,名次)

测试数据:

要求使用1、全部合法数据;2、整体非法数据;3、局部非法数据。

进行程序测试,以保证程序的稳定。

测试数据及测试结果请在上交的资料中写明;

8、宿舍管理查询软件(**)

任务:

为宿舍管理人员编写一个宿舍管理查询软件,程序设计要求:

(1)采用交互工作方式

(2)可以增加、删除、修改信息

(3)建立数据文件,数据文件按关键字(姓名、学号、房号)进行排序(选择、快速排序、堆排序等任选一种)

(4)查询:

a.按姓名查询;b.按学号查询;c按房号查询

(5)打印任一查询结果(可以连续操作)

要求:

上述查询功能中,学号、房号用折半查找,姓名查找用哈希查找。

9、最小生成树问题(**)

【问题描述】

若要在n个城市之间建设通信网络,只需要假设n-1条线路即可。

如何以最低的经济代价建设这个通信网,是一个网的最小生成树问题。

【系统要求】

1.利用克鲁斯卡尔算法求网的最小生成树。

2.利用普里姆算法求网的最小生成树。

3.要求输出各条边及它们的权值。

【测试数据】

由学生任意指定,但报告上要求写出多批数据测试结果。

【实现提示】

通信线路一旦建成,必然是双向的。

因此,构造最小生成树的网一定是无向网。

设图的顶点数不超过30个,并为简单起见,网中边的权值设成小于100的整数,可利用C语言提供的随机函数产生。

图的存储结构的选取应和所作操作相适应。

为了便于选择权值最小的边,此题的存储结构既不选用邻接矩阵的数组表示法,也不选用邻接表,而是以存储边(带权)的数组表示图。

【选作内容】

利用堆排序实现选择权值最小的边。

10、平衡二叉排序树的实现(**)

【系统要求】

(1)用二叉链表作存储结构,以回车('\n')为输入结束标志,输入数列L,生成一棵平衡的二叉排序树T,并以直观的方式显示在终端上;

(2)对二叉排序树T作中序遍历,输出结果;

(3)输入元素x,查找二叉排序树T,若存在含x的结点,则删除该结点,并作中序遍历(执行操作2);否则输出信息“无x”,并将x插入该二叉排序树中。

注意:

插入、删除应保证二叉排序树的平衡性。

11、停车场管理(**)

任务:

设停车场是一个可以停放n辆汽车的狭长通道,且只有一个大门可供汽车进出。

汽车在停车场内按车辆到达时间的先后顺序,依次有北向南排列(大门在最南端,最先到达的第一车停放在车场的最北端),若车场内已停满n辆车,那么后来的车只能在门外的便道上等候,一旦有车开走,则排在便道上的第一辆车即可开入;当停车场内某辆车要离开时,在它之后进入的车辆必须先退出车场为它让路,待该辆车开出大门外,其他车辆再按原次序进入车场,每辆停放在车场的车在它离开停车场时必须按它停留的时间长短交纳费用。

试为停车场编制按上述要求进行管理的模拟程序。

要求:

以栈模拟停车场,以队列模拟车场外的便道。

每一组输入数据包括三个数据项:

汽车“到达”或“离去”信息、汽车牌照号码以及到达或离去的时刻。

对每一组输入数据进行操作后的输出信息为:

若是车辆到达,则输出汽车在停车场内或便道上的停车位置;若是车辆离去,则输出汽车在停车场内停留的时间和应交纳的费用(在便道上停车不收费)。

栈以顺序存储结构实现,队列以链表结构实现。

12、排序综合(*)

利用随机函数产生N个随机整数(20000以上),对这些数进行多种方法进行排序。

要求:

(1)至少采用三种方法实现上述问题求解(提示,可采用的方法有插入排序、希尔排序、起泡排序、快速排序、选择排序、堆排序、归并排序)。

并把排序后的结果保存在不同的文件中;

(2)统计每一种排序方法的性能(以上机运行程序所花费的时间为准进行对比),找出其中两种较快的方法;

(3)统计每种算法所用的比较次数和交换次数,最后列表显示;

(4)如果采用4种或4种以上的方法者,可适当加分。

13、校园导游咨询(***)

任务:

设计一个校园导游程序,为来访的客人提供各种信息查询服务。

要求:

(1)设计学校的校园平面图,所含景点不少于10个,以图中顶点表示校内各景点,存放景点名称、代号、简介等信息;以边表示路径,存放路径长度等相关信息。

(2)为来访客人提供图中任意景点相关

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 法律文书 > 调解书

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1