数据结构课程设计2.docx
《数据结构课程设计2.docx》由会员分享,可在线阅读,更多相关《数据结构课程设计2.docx(11页珍藏版)》请在冰豆网上搜索。
数据结构课程设计2
数据结构课程设计2011版
《数据结构与算法课程设计任务书》
第2版
计算机科学与信息工程学院
2011-05
总体说明
《数据结构与算法》课程设计为期两周,按2010版本科教学计划,安排在每学期的17、18周进行。
课程设计进度安排如下:
1、第一周的第一天:
小组布置设计题目;说明进度安排。
2、第一周的第二天:
小组审题,查阅资料,进行设计前的必要资料准备。
3、第一周的第三天、第四天、第五天:
程序编写、上机调试
4、第二周的第一天至第三天:
上机调试程序、结果分析。
5、第二周的第四天:
撰写设计报告。
6、第二周的第五天:
设计答辩及成绩评定。
课程设计中,每个学生必须选择参加一个题目组,共同完成课程设计任务书说明的任务,题目组人数不得超过课程设计任务书中的限定人数。
每组自行推选一个小组长,负责整个题目组的协调和合作。
课程设计中,每个学生必须负责完成题目的一个部分,并和其他组员讨论协作,共同完成任务书规定的任务的设计、实现和调试。
每个学生必须独立完成自己的课程设计说明书,说明书中除把整个项目作为背景,描述整体设计思想外,要重点介绍自己负责设计实现的部分,介绍自己的设计思路、实现过程、问题处理和收获新得。
考核办法如下:
考勤20%;课程设计说明书50%;答辩30%。
课程设计结束后,每个学生必须提交书面的课程设计说明书和电子版。
每个小组以小组为单位提交课程设计说明书(书面版和电子版)、最终的可执行程序的全部代码(包括测试数据)。
《数据结构》课程设计任务书
设计题目
哈夫曼编\译码器
限定人数
6
问题描述
采用哈夫曼编码思想实现对字符串的编码,以及对编码的解码。
字符串的长度不小于5000字节。
读取要编码的文本文件,将文件的内容进行编码,生成新的文件。
对编码文件进行解码,获得文本文件。
将译码的文本文件和原文件进行比较,恢复文件和原文件必须完全一致。
设字符集及频度如下表:
字符
空格
A
B
C
D
E
F
G
H
I
J
K
L
M
频度
186
64
13
22
32
103
21
15
47
57
1
5
32
20
字符
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
频度
57
63
15
1
48
51
80
23
8
18
1
16
1
基本要求与说明
1、根据哈夫曼树编码原理,构造哈夫曼树,创建一套哈夫曼编码
2、读取文本文件,并对文件内容编码,生成编码文件
3、对编码文件进行译码,获得恢复文件
4、比较恢复文件和原文件是否相同。
计算机科学与信息工程学院制
《数据结构》课程设计任务书
设计题目
多种排序
限定人数
3
问题描述
利用随机函数产生N个随机整数(10000以上),对这些数进行多种方法进行排序。
基本要求与说明
1)采用如下六种方法实现上述问题求解:
插入排序、希尔排序、起泡排序、快速排序、选择排序、堆排序。
2)统计每一种排序方法的性能(以上机运行程序所花费的时间为准进行对比),找出其中两种较快的方法。
并将数据序列和不同的查找算法的性能结果记录入txt文件。
计算机科学与信息工程学院制
《数据结构》课程设计任务书
设计题目
表达式计算程序设计
限定人数
6
问题描述
设计一个能够计算表达式的程序,要求能够对包含加、减、乘、除、括号运算符的表达式进行计算。
基本要求与说明
1.计算表达式手工录入,计算结果必须正确
2.支持两位以上的整数和浮点数的运算
3.运算符优先级表可在程序中直接通过代码初始化
4.能够检查表达式是否合法,对于错误的表达式要能够给出错误原因。
计算机科学与信息工程学院制
《数据结构》课程设计任务书
设计题目
工程项目的关键路径的计算
限定人数
6
问题描述
随机生成一个有向无环图,作为一个有多个活动的工程项目的计划进度图,计算该工程的关键路径和工程完成时间。
基本要求与说明
1.描述工程项目进度的有向无环图能够根据给定顶点树和边数,随机生成,要求以源点开始的广度生成树的层数不能超过15层,工程的活动不能少于100个。
2.编写求关键路径算法,求生成的有向无环图的关键路径。
3.输出完成整项工程至少需要多少时间,以及每一个关键活动所依附的两个顶点、最早发生时间、最迟发生时间。
4.每次生成的图结构保存至文本文件,可以从文本文件读取已生成的有向无环图的结构。
计算机科学与信息工程学院制
《数据结构》课程设计任务书
设计题目
图的遍历和生成树求解
限定人数
6
问题描述
任意创建一个无环图,实现图的DFS,BFS算法、最小生成树的普利姆算法和克鲁斯卡尔算法。
基本要求与说明
1、可以通过录入顶点个数和边的个数来随机生成无向图
2、能够输出显示生成的无向图的顶点和边的信息(形式自定,可考虑使用顶点序对和矩阵形式)
3、输出该图的深度和广度遍历序列
4、通过普利姆算法和克鲁斯卡尔算法求最小生成树,并输出最小生成树的求解构造过程
计算机科学与信息工程学院制
《数据结构》课程设计任务书
设计题目
一元多项式乘法
限定人数
3
问题描述
已知A(x)=a0+a1x+a2x2+……+anxn和B(x)=b0+b1x+b2x2+……+bmxm,并且在A(x)和B(x)中指数相差很多,求A(x)=A(x)*B(x)。
基本要求与说明
(1)设计存储结构表示一元多项式;
(2)设计算法实现一元多项式乘法;
(3)分析算法的时间复杂度和空间复杂度。
计算机科学与信息工程学院制
《数据结构》课程设计任务书
设计题目
医院选址问题
限定人数
4
问题描述
n个村庄之间的交通图可以用有向网图来表示,图中边上的权值表示从村庄i到村庄j的道路长度。
现在要从这n个村庄中选择一个村庄新建一所医院,问这所医院应建在哪个村庄,才能使所有的村庄离医院都比较近?
基本要求与说明
要求:
1、可根据顶点数目n随机生成村庄直接交通图,并输出显示。
2、给出符合要求的村庄的名称。
提示:
1、对加权有向图,调用Floyd算法,求每对顶点间最短路径长度的矩阵;
2、对最短路径长度矩阵的每列求大值,即得到各顶点的偏心度;
3、具有最小偏心度的顶点即为所求。
计算机科学与信息工程学院制
《数据结构》课程设计任务书
设计题目
订票系统
限定人数
6
问题描述
模拟机场订票系统
基本要求与说明
要求:
系统需要实现如下功能:
(1)录入:
可以录入航班情况(数据存储在一个数据文件中,数据结构、具体数据自定)
(2)查询:
可以查询某个航线的情况(如,输入航班号,查询起降时间,起飞抵达城市,航班票价,票价折扣,确定航班是否满仓);
可以输入起飞抵达城市,查询飞机航班情况;
(3)订票:
(订票情况可以存在一个数据文件中,结构自己设定)
可以订票,记录订票信息。
订单要有编号;客户资料有姓名,证件号。
如果该航班已经无票,可以提供相关可选择航班。
(4)退票:
可退票,退票后修改相关数据文件;
根据订单号和客户信息,订票数量及航班情况。
(5)修改航班信息:
当航班信息改变可以修改航班数据文件
提示:
1、航班信息和订票信息分别存储在两个不同的文本文件,程序启动时读入,修改时保存。
计算机科学与信息工程学院制
《数据结构》课程设计任务书
设计题目
哈希表设计
限定人数
3
问题描述
针对某个集体中人名设计哈希表,并完成相应的建表和查表程序。
基本要求与说明
1、假设人名为中国人姓名的汉语拼音形式。
名称的长度不少于3个字符、不多于10个字符。
2、随机生成人名列表,个数不少于3000个,保存到文本文件中,构建哈希表时读入。
3、至少实现三个不同的哈希函数(采用不同的方法)和对应的冲突处理函数
4、计算比较不同的方法的平均查找长度。
计算机科学与信息工程学院制
《数据结构》课程设计任务书
设计题目
考试统计管理系统
限定人数
6
问题描述
实现一个简单的学生成绩管理系统
基本要求与说明
1、学生成绩保存在文本文件(可以每门成绩存放一个文件,也可以存储在同一文件,课程门数不少于3门)
2、学生的成绩信息包括:
学号、姓名、成绩。
3、可以增加和删除学生成绩信息
4、对学生的考试成绩进行有关统计,并打印统计表。
统计信息包括各门课程中优、良、中、及格、不及格的人数和比例
5、统计每个学生的总成绩,学生成绩列表,信息包括:
学号、姓名、各科成绩、总成绩。
计算机科学与信息工程学院制
《数据结构》课程设计任务书
设计题目
校园导游程序
限定人数
6
问题描述
用无向网表示你所在学校的校园景点平面图,图中顶点表示主要景点,存放景点的编号、名称、简介等信息,图中的边表示景点间的道路,存放路径长度等信息。
要求能够回答有关景点介绍、游览路径等问题。
基本要求与说明
1、景点信息和路径信息保存在文本文件,景点个数不少于20个
2、查询各景点的相关信息;
3、查询图中任意两个景点间的最短路径。
4、查询图中任意两个景点间的所有路径。
5、增加、删除、更新有关景点和道路的信息。
6、求多个景点的最佳(最短)游览路径。
计算机科学与信息工程学院制
《数据结构》课程设计任务书
设计题目
员工管理系统
限定人数
4
问题描述
每个员工的信息包括:
编号、姓名、性别、出生年月、学历、职务、电话、住址等。
系统能够完成员工信息的查询、更新、插入、删除、排序等功能。
基本要求与说明
1、职工信息保存在文本文件
2、排序:
按不同关键字,对所有员工的信息进行排序,并输出排序结果。
3、查询:
按特定条件查找员工。
4、更新:
按编号对某个员工的某项信息进行修改。
5、插入:
加入新员工的信息。
6、删除:
按编号删除已离职的员工的信息。
计算机科学与信息工程学院制
《数据结构》课程设计任务书
设计题目
宿舍管理软件
限定人数
6
问题描述
设某宿舍有n个房间,每个房间有6个床位,学生信息包括学号、班级编号、姓名、性别,为学生宿舍管理人员编写一个宿舍管理软件。
基本要求与说明
1、学生的入住处理,录入学生信息,随机分配床位。
要求男女不能混住,原则上同班同学优先安排在一起。
保证宿舍空间充分利用,尽量避免一两个人占用一个宿舍的情况。
2、学生退房处理;
3、输出学生入住信息(按房间号和床号有序);
4、修改入住信息;
5、学生调换宿舍或床位处理;
6、按给定学号、姓名、房号查询;
7、查询房间使用情况。
8、要求能够管理房间不少于40个,班级不少于30个,每个班级人数不少于30人。
计算机科学与信息工程学院制
《数据结构》课程设计任务书
设计题目
图书管理系统
限定人数
6
问题描述
设计一个系统,对图书信息进行管理,信息描述:
有关该系统基本信息的描述,如:
图书名称、图书编号、单价、作者、存在状态、借书人姓名、性别、学号等。
基本要求与说明
1、新进图书基本信息的输入。
2、图书基本信息的查询。
3、图书信息的删除。
4、为借书人办理注册。
5、办理借书手续(非注册会员不能借书)。
6、办理还书手续。
7、统计图书库存、已借出图书数量。
8、统计最受欢迎图书前十名(根据被借阅次数进行统计)
9、图书信息、借书还书信息、会员信息均通过文本文件进行存储。
计算机科学与信息工程学院制
《数据结构》课程设计任务书
设计题目
银行业务模拟
限定人数
6
问题描述
设一个银行有n(3模拟该银行的业务处理情况。
基本要求与说明
1、客户的到达时间随机
2、客户需要处理的业务随机(不同业务处理的平均长度不同,例如:
取款时间较短,开户和销户时间较长)
3、处理客户业务所需时间随机(在一定范围内)
4、使用文本文件记录每个客户到达时间、业务处理时间、业务结束时间
5、动态显示(刷新时间可调)目前每个窗口累计处理客户数量、等待人数,每个窗口的平均业务处理时间,不同业务类型业务的累计办理量。
6、(选作),根据对银行业务数据的分析,调整客户排队策略,减少客户的平均等待时间。
计算机科学与信息工程学院制