级软件工程专业数据结构课程设计方案V10.docx

上传人:b****4 文档编号:27123150 上传时间:2023-06-27 格式:DOCX 页数:12 大小:427.88KB
下载 相关 举报
级软件工程专业数据结构课程设计方案V10.docx_第1页
第1页 / 共12页
级软件工程专业数据结构课程设计方案V10.docx_第2页
第2页 / 共12页
级软件工程专业数据结构课程设计方案V10.docx_第3页
第3页 / 共12页
级软件工程专业数据结构课程设计方案V10.docx_第4页
第4页 / 共12页
级软件工程专业数据结构课程设计方案V10.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

级软件工程专业数据结构课程设计方案V10.docx

《级软件工程专业数据结构课程设计方案V10.docx》由会员分享,可在线阅读,更多相关《级软件工程专业数据结构课程设计方案V10.docx(12页珍藏版)》请在冰豆网上搜索。

级软件工程专业数据结构课程设计方案V10.docx

级软件工程专业数据结构课程设计方案V10

2013级软件工程专业《数据结构课程设计》方案V1.0

1、课程任务

要求独立完成一个或多个较为完整的应用需求分析,在完成设计和编程大型作业的过程中,深化对数据结构课程中概念、理论和方法的理解;训练综合运用所学知识处理实际问题的能力,强化面向对象的程序设计理念;使同学的程序设计与调试水平有一个明显的提高;经过查找参考资料、技术手册和撰写文档的实践,进一步培养软件工程师的综合素质。

2、具体要求

1.每人应至少独立完成一道题目并撰写课程报告,具体题目由任课老师组织分配,题目一旦选定,未经老师同意,不得私自更换,否则总评成绩为缺成绩。

2.按时出勤,旷课2次直接取消答辩资格,旷课1次总评成绩降低1个等级。

3.听从值班老师安排,按所选题目分区坐在指定位置。

4.按时提交课程设计资料,未按格式或未在规定时间提交资料的,总评成绩为缺成绩。

3、具体安排

1.时间:

18周周一至周五上午、下午

2.地点:

4-312(1、2、3题)、4-313(4、5、6题)

3.答辩时间:

19周周1上午、下午

4.课程设计具体考核标准和流程由题目指导老师负责。

4、课程设计题目与内容

1.数据压缩与解压缩

利用哈夫曼编码完成数据的压缩与解压缩,具体要求如下:

(1)哈夫曼编码的动画显示,程序运行界面如下:

(40分)

在上面文本框中输入待编码的字符串,点击“ShowHuffmanTree”按钮输入,生成哈夫曼树并显示该字符串的哈夫曼编码。

如下图所示:

在下面文本框中输入二进制哈夫曼串,点击“DecodeText”,能够还原为原来的字符。

比如输入"001"显示"w",输入"01001"显示"ow",如下图所示:

(2)在上面程序的基础上,编写程序,在控制台或GUI中输入文件名(如filename.dat),通过哈夫曼数据压缩算法生成filename.new,同时,使用数组存储每个字符哈夫曼编码,通过对象输出流将该数组写入文件filename.huf中。

(30分)

(3)在上面程序的基础上,通过文件filename.huf解压文件filename.new,生产文件filename.txt。

(30分)

2.全国交通咨询模拟

[问题描述]

处于不同目的的旅客对交通工具有不同的要求。

例如,因公出差的旅客希望在旅途中的时间尽可能的短,出门旅游的游客则期望旅费尽可能省,而老年旅客则要求中转次数最少。

编制一个全国城市间的交通咨询程序,为旅客提供两种或三种最优决策的交通咨询。

[设计要求]

(1)提供对城市信息进行编辑(如:

添加或删除)的功能。

(2)城市之间有两种交通工具:

火车和飞机。

提供对列车时刻表和飞机航班进行编辑(增设或删除)的功能。

(3)提供两种最优决策:

最快到达和最省钱到达。

全程只考虑一种交通工具。

(4)旅途中耗费的总时间应该包括中转站的等候时间。

(5)咨询以用户和计算机的对话方式进行。

由用户输入起始站、终点站、最优决策原则和交通工具,输出信息:

最快需要多长时间才能到达或者最少需要多少旅费才能到达,并详细说明依次于何时乘坐哪一趟列车或哪一次班机到何地。

[实现提示]

(1)对全国城市交通图和列车时刻表及飞机航班表进行编辑,应该提供文件形式输入和键盘输入两种方式。

飞机航班表的信息应包括:

起始站的出发时间、终点站的到达时间和票价;列车时刻表则需根据交通图给出各个路段的详细信息,例如:

对从北京到上海的火车,需给出北京至天津、天津至徐州及徐州至上海各段的出发时间、到达时间及票价等信息。

(2)以邻接表作交通图的存储结构,表示边的结构内除含有邻接点的信息外,还应包括交通工具、路程中耗费的时间和花费以及出发和到达的时间等多种属性。

(3)增加旅途中转次数最少的最优决策。

3.24点扑克牌游戏

题目背景:

一副牌中抽去大小王剩下52张(如果初练也可只用1~10这40张牌),任意抽取4张牌(称牌组),用加、减、乘、除(可加括号)把牌面上的数算成24。

每张牌必须用一次且只能用一次,如抽出的牌是3、8、8、9,那么算式为(9-8)×8×3或3×8+(9-8)或(9-8÷8)×3等。

本题主要考查栈、集合、数组、递归、穷举等知识。

可参考:

版本1:

满分30分

从52张牌中任意选取4张扑克牌,如下图,每张牌表示一个数字

输入由四张被选择的扑克牌牌面的四个数字构成的一个表达式10*(8-6)+4,如下图

点击验证按钮,显示消息:

如输入的表达式为10+8+6-4,得不到正确的结果,显示消息:

如输入的数据与纸牌数据不同,显示消息:

点击刷新按钮,得到另外4张牌。

版本2:

满分40分

改进版本1,如果解存在,就显示该解。

如果存在多个解,显示这样的多个解。

如8,6,2,1,可能的解有:

6+(8+1)*2,8*(6-2-1),……

如果不存在解,显示无解消息。

由用户输入1到13之间的4个数,检查是否有解。

版本4:

满分30分

从52张牌中选择4张牌,这4张牌可能无解。

从52张牌中选择4张牌的挑选次数是多少?

在这些所有可能的选择中,有多少有解?

Totalnumberofcombinationsis270725

Totalnumberofcombinationswithsolutionsis217781

Thesolutionratiois0.8044362360328747

成功的几率是多少?

编程求解上述问题。

4.16枚硬币的反面问题

题目背景:

教材中的9枚硬币问题使用的是3*3的矩阵,假设在一个4*4的矩阵中放置了16枚硬币。

该问题可进一步变化为如2*3,2*4,3*4等等任意结构的情形。

本题主要考查对图的结构和图的广度优先遍历操作的掌握。

版本1:

满分30分

参考9枚硬币反面问题的模型,建立16枚硬币反面问题的模型,以及其他结构的模型。

版本2:

满分40分

参考9枚硬币反面问题的解决方法,解决16枚硬币的反面问题。

进一步解决其它结构的反面问题。

版本3:

满分30分

修改硬币翻转规则,如规则改为对角线上的邻居被翻转,或者任意自定义的翻转规则。

重新解决上述问题。

5.线性表、树、图的操作和演示

(1)线性表:

满分40分

实现接口MyList、抽象类MyAbstractList、基于顺序存储线性表MyArrayList、基于链式存储的线性表MyLinkedList。

实现方式如下:

给出MyArrayList和MyLinkedList操作的动画演示,如下图:

实现栈MyStack和队列MyQueue。

实现方式如下:

MyQueue

MyLinkedList

给出MyStack和MyQueue的动画操作,如下图:

(2)树:

满分20分

设计实现二叉查找树,并以动画形式演示在其上的插入、查找、删除等操作。

(3)图:

满分40分

设计实现接口Graph、抽象类AbstractGraph、具体类UnweightedGraph和WeightedGraph类。

实现方式如下:

并用动画方式显示无权图的深度优先遍历、广度优先遍历;

使用动画方式显示带权图的最小生成树、最短路径:

6.模拟浏览器

版本1:

满分(30分)

编写程序,将一个Java文件转换为HTML一个文件。

在HTML文件中,关键字、注释和字面值分别用粗体的深蓝色、绿色和蓝色显示。

使用命令行参数传递Java文件和HTML文件。

运行显示如下:

版本2:

满分20分

开发通过Web服务器从远程主机上读取文件客户端程序,用户界面包括一个用于输入URL的文本域、一个用于显示文件的文本域,用户通过按Enter键提交行为。

运行如下:

版本3:

满分50分

添加后退、前进、停止、刷新、转到主页等功能,完成模拟浏览器。

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

当前位置:首页 > 农林牧渔 > 林学

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

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