数据结构课程设计题目及要求(2013)(2)

2019-08-29 19:41

输入数据形式和范围:20以内的整数(如果做得更好可以输入学校的名称,运动项目的名称) 【输出形式】

有中文提示,各学校分数为整形 【界面要求】

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

学生自己根据系统功能要求自己设计,但是要求运动会的相关数据要存储在数据文件中。(数据文件的数据读写方法等相关内容在c语言程序设计的书上,请自学解决)请在最后的上交资料中指明你用到的存储结构; 【测试数据】

要求使用1、全部合法数据;2、整体非法数据;3、局部非法数据。进行程序测试,以保证程序的稳定。测试数据及测试结果请在上交的资料中写明。

3. 内部排序算法比较

【问题描述】

在教科书中,各种内部排序算法的时间复杂度分析结果只给出了算法执行时间的阶,或大概执行时间。试通过随机数据比较各算法的关键字比较次数和关键字移动次数,以取得直观感受。 【基本要求】

(1)对以下6种常用的内部排序算法进行比较:起泡排序、直接插入排序、简单选择排序、快速排序、希尔排序、堆排序。

(2)待排序表的表长不小于100;其中的数据要用伪随机数产生程序产生;至少要用5组不同的输入数据作比较;比较的指标为有关键字参加的比较次数和关键字的移动次数(关键字交换计为3次移动)。

(3)最后要对结果作出简单分析,包括对各组数据得出结果波动大小的解释。 【测试数据】

由随机数产生器生产。 【实现提示】

主要工作是设法在已知算法中的适当位置插入对关键字的比较次数和异动次数的计数操作。程序还可以考虑几组数据的典型性,如正序、逆序和不同程度的乱序。

4. 宿舍管理查询软件

【问题描述】

为宿舍管理人员编写一个宿舍管理查询软件。 【基本要求】

(1)采用交互工作方式;

(2)建立数据文件 ,数据文件按关键字(姓名、学号、房号)进行排序(冒泡、选择、插入排序等任选一种)。

(3)建立查询菜单: (用二分查找实现以下操作)

按姓名查询 按学号查询

6

按房号查询

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

(三)课程设计3

1. 校园导游咨询

【问题描述】 设计一个校园导游程序,为来访的客人提供各种信息查询服务。 【基本要求】

(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:印代码文件(Print)。将文件CodeFile以紧凑格式显示在终端上,每行50个代码。同时将此字符形式的编码文件写入文件CodePrin中。 (5)T:印哈夫曼树(Tree printing)。将已在内存中的哈夫曼树以直观的方式(树或凹入表形式)显示出,同时将此字符形式的哈夫曼树写入文件TreePrint中。 【测试数据】

(1) 利用教科书例6-2中的数据调试程序。

7

(2) 用下表给出的字符集和频度的实际统计数据建立哈夫曼树,并实现以下报文的编

码和译码:“THIS PROGRAM IS MY FAVORITE”。 字符 频度 字符 频度 A 64 N 57 B 13 O 63 C 22 P 15 D 32 Q 1 E 103 R 48 F 21 S 51 G 15 T 80 H 47 U 23 I 57 V 8 J 1 W 18 K 5 X 1 L 32 Y 16 M 20 Z 1

【实现提示】

(1) 编码结果以文本方式存储在文件CodeFile中。 (2) 用户界面可以设计为“菜单”方式:显示上述功能符号,再加上“Q”表示退出运行Quit。请用户键入一个选择功能符。此功能执行完毕后再显示此菜单,直至某次用户选择了“Q”为止。

(3) 在程序的一次执行过程中,第一次执行I、D或C命令之后,哈夫曼树已经在内存了,不必再读入。每次执行中不一定执行I命令,因为文件hfmTree可能早已建好。

3. 散列法的实验研究

【问题描述】

(1)基本要求:设每个记录有下列数据项:电话号码、用户名、地址;从键盘输入各记录,分别以电话号码和用户名为关键字建立散列表;采用一定的方法解决冲突;查找并显示给定电话号码的记录;查找并显示给定用户名的记录。 (2)进一步完成内容: 系统功能的完善:

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

4. 建立通信网络

【问题描述】

在n个城市建设通信网络,只需架设n-1条线路即可。设计一个程序,求出如何以最低的经济代价建设这个通信网。(该问题为最小生成树问题) 【基本要求】

(1)利用图作为存储结构;

(2)键盘输入问题规模n和各条线路的权值; (3)输出生成树中各条边以及他们的权值。

8

附件1:封面格式

滨江学院

《数据结构》课程设计

题 目

学 号

学生姓名 院 系

专 业

指导教师

二O一二 年 月 日

9

附件2:分组登记表

组号 组长 组长联系电话 组员学号 1 2 3 4 5

组员姓名 分工 10


数据结构课程设计题目及要求(2013)(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:临沂市及周边集市

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: