《数据结构》课程设计指导书 下载本文

内容发布更新时间 : 2024/6/2 10:33:27星期一 下面是文章的全部内容请认真阅读。

《数据结构》课程设计指导书

一、课程设计的目的

课程设计的目的是培养学生综合程序设计的能力,训练学生灵活应用所学数据结构知识,独立完成问题分析、总体设计、详细设计和编程实现等软件开发全过程的综合实践能力。巩固、深化学生的理论知识,提高编程水平,并在此过程中培养他们严谨的科学态度和良好的学习作风。为今后学习其他计算机课程打下基础。

课程设计为学生提供了一个既动手又动脑,独立实践的机会,将书本上的理论知识和工作、生产实际有机地结合起来,从而锻炼学生分析问题、解决实际问题的能力,提高学生的编程序能力和创新意识。

二、课程设计的要求

在处理每个题目时,要求从分析题目的需求入手,按设计抽象数据类型、构思算法、通过算法的设计实现抽象数据类型、编制上机程序和上机调试等若干步骤完成题目,最终写出完整的课程设计与程序分析报告。前期准备工作完备与否直接影响到后序上机调试工作的效率。

三、课程设计的学生分组情况

每组两至三人,共同研究、共同讨论,可以共同编写算法,但必须各自独立完成各自的程序。

四、课程设计的任务时间安排

课程设计教学安排共16课时,四次上机,每次4课时。课程设计任务安排如下:

1)课程设计前:将各项任务及问题进行讲解、分析。学生对任务进行讨论、研究与分析,初步设计出算法。

2)设计出详细算法,并上机调试程序。

3)写出课程设计报告并在课程结束后及时提交课程设计报告电子版。

附录

数据结构课程设计题目

1.产品进销存管理系统(限1 人完成)

问题描述:针对某一种行业的库房的产品进销存情况进行管理。 基本要求:

1. 采用一定的存储结构对库房的货品及其数量进行分类管理; 2. 可以进行产品类的添加、产品的添加、产品数量的添加;

3. 能够查询库房每种产品的总量、进货日期、销出数量、销售时间等;

2.飞机订票系统(限1 人完成)

任务:通过此系统可以实现如下功能: 录入:

可以录入航班情况(数据可以存储在一个数据文件中,数据结构、具体数据自定) 查询:

可以查询某个航线的情况(如,输入航班号,查询起降时间,起飞抵达城市,航班票价,票价折扣,确定航班是否满仓); 可以输入起飞抵达城市,查询飞机航班情况;

订票:(订票情况可以存在一个数据文件中,结构自己设定) 可以订票,如果该航班已经无票,可以提供相关可选择航班; 退票: 可退票,退票后修改相关数据文件;

客户资料有姓名,证件号,订票数量及航班情况,订单要有编号。 修改航班信息:

当航班信息改变可以修改航班数据文件 要求:

根据以上功能说明,设计航班信息,订票信息的存储结构,设计程序完成功能;

3.文章编辑(限1 人完成)

功能:输入一页文字,程序可以统计出文字、数字、空格的个数。 静态存储一页文章,每行最多不超过80个字符,共N行;要求(1)分别统计出其中英文字母数和空格数及整篇文章总字数;(2)统计某一字符串在文章中出现的次数,并输出该次数;(3)删除某一子串,并将后面的字符前移。 存储结构使用线性表,分别用几个子函数实现相应的功能;

输入数据的形式和范围:可以输入大写、小写的英文字母、任何数字及标点符号。

输出形式:(1)分行输出用户输入的各行字符;(2)分4行输出\全部字母数\、\数字个数\、\空格个数\、\文章总字数\(3)输出删除某一字符串后的文章;

4.散列法的实验研究(限1 人完成)

散列法中,散列函数构造方法多种多样,同时对于同一散列函数解决冲突的方法也可以不同。两者是影响查询算法性能的关键因素。对于几种典型的散列函数构造方法,做实验观察,不同的解决冲突方法对查询性能的影响。

5.学生成绩管理(限1 人完成)

实现功能:输入、输出、插入、删除、查找、追加、读入、显示、保存、拷贝、排序、分类合计、退出。 6.二叉排序树的实现(限1 人完成) 用顺序和二叉链表作存储结构

1)以回车('\\n')为输入结束标志,输入数列L,生成一棵二叉排 序树T; 2)对二叉排序树T作中序遍历,输出结果;

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

7.最小生成树问题(限1 人完成)

设计要求:在n个城市之间建设网络,只需保证连通即可,求最经济的架设方法。存储结构采用多种。求解算法多种。

8.通讯录的制作(限1 人完成)

设计目的:用〈〈数据结构〉〉中的双向链表作数据结构,结合C语言基本知识。编写一个通讯录管理系统。以把所学数据结构知识应用到实际软件开发中去。 设计内容:本系统应完成一下几方面的功能: 1)输入信息——enter(); 2)显示信息———display( );