数据结构综合项目设计.docx

上传人:b****6 文档编号:6394545 上传时间:2023-01-06 格式:DOCX 页数:9 大小:30.46KB
下载 相关 举报
数据结构综合项目设计.docx_第1页
第1页 / 共9页
数据结构综合项目设计.docx_第2页
第2页 / 共9页
数据结构综合项目设计.docx_第3页
第3页 / 共9页
数据结构综合项目设计.docx_第4页
第4页 / 共9页
数据结构综合项目设计.docx_第5页
第5页 / 共9页
点击查看更多>>
下载资源
资源描述

数据结构综合项目设计.docx

《数据结构综合项目设计.docx》由会员分享,可在线阅读,更多相关《数据结构综合项目设计.docx(9页珍藏版)》请在冰豆网上搜索。

数据结构综合项目设计.docx

数据结构综合项目设计

《数据构造项目设计》

一、项目设计性质、教学目和规定

《数据构造》是计算机软件一门基本课程,计算机科学各领域及关于应用软件都要用到各种类型数据构造。

学好数据构造对掌握实际编程能力是很有协助。

为了学好《数据构造》,必要编写某些在特定数据构造上算法,通过上机调试,才干更好地掌握各种数据构造及其特点,同步提高解决计算机应用实际问题能力。

二、设计要点

1.设计和调试过程要规范化。

1需求分析

将题目中规定功能进行论述分析,并且设计解决此问题数据存储构造,(有些题目已经指定了数据存储,按照指定设计),设计或论述解决此问题算法,描述算法建议使用流程图,进行算法分析指明核心语句时间复杂度。

给出实现功能一组或多组测试数据,程序调试后,将按照此测试数据进行测试成果列出来。

对有些题目提出算法改进方案,比较不同算法优缺陷。

如果程序不能正常运营,写出实现此算法中遇到问题,和改进办法。

②源程序(可以是一组源程序,即详细设计某些)

源程序要按照写程序规则来编写。

要构造清晰,重点函数重点变量,重点功能某些要加上清晰程序注释。

程序可以运营,要有基本容错功能。

尽量避免浮现操作错误时浮现死循环。

2.课程设计实习报告书写格式

1设计题目(任选其一)

②运营环境(软、硬件环境)

③算法设计思想

④算法流程图

⑤算法设计分析

⑥源代码

⑦运营成果分析

⑧收获及体会

3.实行方式

可设3-4人一题,安排在《数据构造》课程开课学期布置题目,然后在期末两周时间内完毕。

三.设计规定

学生要发挥自主学习能力,充分运用时间,安排好课设时间筹划,并在课设过程中不断检测自己筹划完毕状况,及时向教师报告。

课程设计按照教学规定需要两周时间完毕,两周中每天至少要上3-4小时机来调试C语言设计程序,总共至少要上机调试程序30小时。

为保证质量,需要每个学生将每天上机调试程序时间记录下来,作为评判成绩原则之一。

四.设计题目

1、运动会分数记录

●问题描述:

参加运动会有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语言程序设计书上,请自学解决)请在最后上交资料中指明你用到存储构造;

●测试数据:

规定使用:

1)所有合法数据;

2)整体非法数据;

3)局部非法数据。

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

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

2、一元多项式计算

●问题描述:

可以按照指数降序排列建立并输出多项式;

可以完毕两个多项式相加、相减,并将成果输入;

●在上交资料中请写明:

存储构造、多项式相加基本过程算法(可以使用程序流程图)、源程序、测试数据和成果、算法时间复杂度、此外可以提出算法改进办法;

3、订票系统

●问题描述:

通过此系统可以实现如下功能:

1)录入:

可以录入航班状况(数据可以存储在一种数据文献中,数据构造、详细数据自定)

2)查询:

可以查询某个航线状况(如,输入航班号,查询起降时间,起飞到达都市,航班票价,票价折扣,拟定航班与否满仓);

可以输入起飞到达都市,查询飞机航班状况;

3)订票:

(订票状况可以存在一种数据文献中,构造自己设定)

可以订票,如果该航班已经无票,可以提供有关可选取航班;

4)退票:

可退票,退票后修改有关数据文献;

客户资料有姓名,证件号,订票数量及航班状况,订单要有编号。

5)修改航班信息:

当航班信息变化可以修改航班数据文献

●规定:

依照以上功能阐明,设计航班信息,订票信息存储构造,设计程序完毕功能;

4、迷宫求解

●问题描述:

可以输入一种任意大小迷宫数据,用非递归办法求出一条走出迷宫途径,并将途径输出;

●规定:

在上交资料中请写明:

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

5、文章编辑

●问题描述:

输入一页文字,程序可以记录出文字、数字、空格个数。

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

●规定

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

(2)记录某一字符串在文章中浮现次数,并输出该次数;

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

●存储构造:

使用线性表,分别用几种子函数实现相应功能;

●输入数据形式和范畴:

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

●输出形式:

(1)分行输出顾客输入各行字符;

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

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

 

6、马踏棋盘

●问题描述:

将马随机放在国际象棋8Ⅹ8棋盘Bord[8Ⅱ8]某个方格中,马按走棋规则进行移动。

规定每个方格上只进入一次,走遍棋盘上所有64个方格。

编制非递归程序,求出马行走路线,并按求出行走路线,将数字1,2,…,64依次填入1个8Ⅹ8方阵,输出之。

●测试数据:

由读者指定,可自行指定一种马初始位置。

●实现提示:

每次在各种可走位置中选取一种进行试探,别的未曾试探过可走位置必要用恰当构造妥善管理,以备试探失败时“回溯”(悔棋)使用。

7、校园导游征询

●问题描述:

(1)设计你学校校园平面图,所含景点不少于10个。

以图中顶点表达学校各景点,存储景点名称、代号、简介等信息;以边表达途径,存储途径长度等有关信息。

(2)为来访客人提供图中任意景点问路查询,即查询任意两个景点之间一条最短简朴途径。

(3)为来访客人提供图中任意景点有关信息查询。

●测试数据:

由读者依照实际状况指定。

●实现提示:

普通状况下,校园道路是双向通行,可设校园平面图是一种无向网。

顶点和边均具有有关信息。

8、编制一种求解迷宫通路图形界面演示程序。

●问题描述:

1)输入一种任意大小迷宫,任设起点、终点、障碍,用栈求出一条走出迷宫途径,并显示在屏幕上。

2)依照顾客界面提示,用键盘输入。

Home键设立迷宫起点,End键设终点,上下左右箭头键移动,Enter键添加墙,Del键删除墙,完毕后按F9键演示,Esc键退出。

3)橙色实心小圆圈表达起点,绿色实心圆圈表达终点,空心圆圈表达足迹,红色方块表达墙。

4)本程序只求出一条成功通路,但若对求解函数MazePath稍加更改即可求得所有途径。

此外,因受图形界面限制,不能保存或载入测试文献(此功能可在Maze_text中实现)。

5)当未输入起点时,消息显示“Error:

YoumustsetStartplace.”;未输入终点时,显示“Error:

YoumustsetEndplace.”找到途径时,屏幕显示足迹,并在消息框浮现Pathfound,否则消去足迹,显示Pathnotfound.

9.一元稀疏多项式计算器

●问题描述:

一元多项式简朴计算器基本功能是:

(1)输入并建立多项式;

(2)输出多项式,输出形式为整数序列n,c1,e1,c2,e2,…,cn,en,其中n是多项式项数,ci和ei分别是第I项系数和指数,序列指指数降序排列;

(3)多项式a和b相加,建立多项式a+b;

(4)多项式a和b相减,建立多项式a-b。

●实现提示:

用带头结点单链表存储多项式,多项式项数存在头结点。

10.算术表达式求值演示

●问题描述:

表达式求值是实现程序设计语言基本问题之一,也是栈应用一种典型例子。

设计一种程序,演示用算符优先法对算术表达式求值过程。

●基本规定

以字符序列形式从终端上输入语法对的、不含变量整数表达式。

运用教材中给出算符优先关系,实现对算术四则混合运算表达式求值,并仿照教材例3-1演示在求值中运算符栈、运算数栈、输入字符和重要操作变化过程。

●实现提示:

(1)设立运算栈和运算数栈辅助分析算符优先关系。

(2)在输入表达式字符序列同步,完毕运算符和运算数(整数)辨认解决,以及相应运算。

(3)在辨认出运算数同步,要将其字符序列形式转换成整数形式。

●选作内容:

(1)扩充运算符集,如增长乘方、单目减、赋值等运算;

(2)运算量可以是变量;

(3)运算量可以是实数类型;

(4)计数器功能和仿镇界面。

11.稀疏矩阵运算器

●问题描述:

稀疏矩阵是指那些多数元素为0矩阵。

运用“稀疏”特点进行存储和计算可以大大节约存储空间,提高计算效率。

实现一种能进行稀疏矩阵基本原酸运算器。

●基本规定:

以“带行逻辑链接信息”三元组顺序表达稀疏矩阵,实现两个矩阵相加、相减和相乘运算。

稀疏矩阵输入形式采用三元组表达,而运算构造矩阵则以普通阵列形式列出。

●实现提示:

(1)一方面应输入矩阵行数和列数,并鉴别给出两个矩阵行、列数对于所规定作运算与否匹配。

可设矩阵行数和列数均不超过20。

(2)程序可以对三元组输入顺序加以限制,例如,按行优先。

注意研究教科书中算法,以便提高计算效率。

(3)在用三元组表达稀疏矩阵时,相加或相减所得成果矩阵应当另生成,乘积矩阵也可以用二维数组存储。

12.图书管理

●问题描述:

图书管理基本业务活动涉及:

对一本书采编入库、清除库存、借阅和归还等等。

试设计一种图书管理系统,将上述业务活动借助于计算机系统完毕。

●基本规定:

(1)每种书登记内容至少涉及书号、书名、作者、现存量和总库存量等。

(2)作为演示系统,不必使用文献,所有数据可以都在内存存储。

但是由于上述四项基本业务活动都是通过书号(即核心字)进行,因此要用B树对书号竭力索引,以获得高效率。

(3)系统应实现操作及功能定义如下:

①采编入库:

新购入一种书,经分类和拟定书号后登记到图书帐目中去。

如果这种书在帐目中已有,则只将总库存量增长。

2清除库存:

某种书已无保存价值,将它从图书帐目中注销。

3某种书现存量不不大于零,则借出一本,登记借阅者图书证号和归还期限。

4归还:

注销对借阅者登记,变化该书现存量。

5显示:

以凹入表形式显示B树。

这个操作是为了调试和维护目而设立。

下列B树打印格式如下所示:

 

13:

通讯录制作

●问题描述:

编写一种通讯录管理系统,本系统应完毕一下几方面功能:

1.输入信息——enter();

2.显示信息———display();

3.查找以姓名作为核心字———search();

4.删除信息———delete();

5.存盘———save();

6.装入———load();

●基本规定:

用双向链表作数据构造。

1.每条信息至包括:

姓名(NAME)街道(STREET)都市(CITY)邮编(EIP)

国家(STATE)几项

2.作为一种完整系统,应具备和谐界面和较强容错能力

 

五、参照书目

《数据构造C语言》严蔚敏清华大学出版社

《c语言程序设计》谭浩强清华大学出版社

《数据构造》高教出版社

《数据构造习题》李春保清华大学出版社

《数据构造习题》严蔚敏清华大学出版社

《c语言与数据构造》王立柱清华大学出版社

《数据构造(C语言篇)习题与解析》李春葆清华大学出版社

 

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

当前位置:首页 > 表格模板 > 合同协议

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

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