数据结构和算法课程设计题目

发布 2022-10-06 03:46:28 阅读 4987

北方民族大学课程设计。

课程名称: 数据结构与算法

院(部)名称: 信息与计算科学学院

组长姓名学号。

同组人员姓名。

指导教师姓名:

北方民族大学课程设计。

课程名称: 数据结构与算法

院(部)名称: 信息与计算科学学院

组长姓名学号[}]

同组人员姓名。

指导教师姓名: 纪峰。

设计时间: 2010.6.7---2009.6.27

一、《数据结构与算法》课程设计参考题目。

一)参考题目一(每位同学选作一个,同组人员不得重复)

1、编写函数实现顺序表的建立、查找、插入、删除运算。

2、编写函数分别实现单链表的建立、查找、插入、删除、逆置算法。

3、编写函数实现双向链表的建立、插入、删除算法。

4、编写函数实现顺序栈的进栈、退栈、取栈顶的算法。

5、编写函数实现链栈的进栈、退栈、取栈顶的算法。

6、编写函数实现双向顺序栈的判空、进栈、出栈算法。

7、编写函数实现循环队列的判队空、取队头元素、入队、出队算法。

8、编写函数实现链环队列的判队空、取队头节点、入队、出队算法。

9、编写函数实现串的,求串长、连接、求字串、插入、删除等运算。

10、分别实现顺序串和链串的模式匹配运算。

11、实现二叉树的建立,前序递归遍历和非递归遍历算法。

12、实现二叉树的建立,中序递归遍历和非递归遍历算法。

13、实现二叉树的建立,后序递归遍历和非递归遍历算法。

14、实现二叉树的中序线索化,查找*p结点中序下的前驱和后继结点。

15、分别以临接表和邻接矩阵作为存储就够实现图的深度优先搜索和广度优先搜索算法。

16、利用线性探测处理冲突的方法实现散列表的查找和插入算法。

二)参考题目二(每三人一组,任选三个题目完成)

1.运动会分数统计(限1 人完成)

任务:参加运动会有n个学校,学校编号为1……n。比赛分成m个男子项目,和w个女子项目。

项目编号为男子1……m,女子m+1……m+w。不同的项目取前五名或前三名积分;取前五名的积分分别为,前三名的积分分别为;哪些取前五名或前三名由学生自己设定。(m<=20,n<=20)

功能要求:1)可以输入各个项目的前三名或前五名的成绩;

2)能统计各学校总分,3)可以按学校编号或名称、学校总分、男女团体总分排序输出;

4)可以按学校编号查询学校某个项目的情况;可以按项目编号查询取得前三或前五名的学校。

5)数据存入文件并能随时查询

6)规定:输入数据形式和范围:可以输入学校的名称,运动项目的名称。

输出形式:有合理的提示,各学校分数为整形。

界面要求:有合理的提示,每个功能可以设立菜单,根据提示,可以完成相关的功能要求。

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

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

2.飞机订票系统。

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

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

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

可以输入起飞抵达城市,查询飞机航班情况;

订票:(订票情况可以存在一个数据文件中,结构自己设定)

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

退票: 可退票,退票后修改相关数据文件;

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

修改航班信息:

当航班信息改变可以修改航班数据文件。

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

3.文章编辑。

功能:输入一页文字,程序可以统计出文字、数字、空格的个数。

静态存储一页文章,每行最多不超过80个字符,共n行;要求(1)分别统计出其中英文字母数和空格数及整篇文章总字数;(2)统计某一字符串在文章**现的次数,并输出该次数;(3)删除某一子串,并将后面的字符前移。

存储结构使用线性表,分别用几个子函数实现相应的功能;

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

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

4.宿舍管理查询软件。

1)任务:为宿舍管理人员编写一个宿舍管理查询软件, 程序设计要求:

a.采用交互工作方式。

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

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

a.按姓名查询

b.按学号查询

c.按房号查询。

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

5.校园导航问题(限1 人完成)

设计要求:设计你的学校的平面图,至少包括10个以上的场所,每两个场所间可以有不同的路,且路长也可能不同,找出从任意场所到达另一场所的最佳路径。

6.教学计划编制问题

设计要求:针对计算机系本科课程,根据课程之间的依赖关系(如离散数学应在数据结构之前开设)制定课程安排计划,并满足各学期课程数目大致相同。

7.散列法的实验研究。

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

8.图书借阅管理系统。

主要分为两大功能:

1)图书管理(增加图书、查询图书、删除图书、图书借阅、还书);

2)会员管理(增加会员、查询会员、删除会员、借书信息);

9.学生成绩管。

实现功能:输入、输出、插入、删除、查找、追加、读入、显示、保存、拷贝、排序、退出。

10.活期储蓄帐目管理。

活期储蓄处理中,储户开户、销户、存入、支出活动频繁,系统设计要求:

1)能比较迅速地找到储户的帐户,以实现存款、取款记账;

2)能比较简单,迅速地实现插入和删除,以实现开户和销户的需要。

11.二叉排序树的实现。

用顺序和二叉链表作存储结构

1)以回车('')为输入结束标志,输入数列l,生成一棵二叉排序树t;

2)对二叉排序树t作中序遍历,输出结果;

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

12.最小生成树问题。

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

@@@13.通讯录的制作。

设计目的:用〈〈数据结构〉〉中的双向链表作数据结构,结合c语言基本知识。编写一个通讯录管理系统。以把所学数据结构知识应用到实际软件开发中去。

设计内容:本系统应完成一下几方面的功能:

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

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

3)查找以姓名作为关键字 ——search( )

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

5)存盘———s**e (

6)装入———load( )

设计要求:1)每条信息至包含 :姓名(name )街道(street)城市(city)邮编(eip)国家(state)几项。

2)作为一个完整的系统,应具有友好的界面和较强的容错能力。

3)上机能正常运行,并写出课程设计报告。

14.哈夫曼编码/译码器。

问题描述】设计一个利用哈夫曼算法的编码和译码系统,重复地显示并处理以下项目,直到选择退出为止。

基本要求】1)将权值数据存放在数据文件(文件名为位于执行程序的当前目录中)

2)分别采用动态和静态存储结构。

3)初始化:键盘输入字符集大小n、n个字符和n个权值,建立哈夫曼树;

4)编码:利用建好的哈夫曼树生成哈夫曼编码;

5)输出编码;

6)设字符集及频度如下表:

字符空格 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实现两个链表的合并。要求 编一程序将a表和b表归并成一个新的递增有序的单链表c 值相同的元素均保留在c表中 并要求利用原表的空间存放c。测试数据 1 a表 30,41,15,12,56,80 b表 23,56,78,23,12,33,79,90,55 2 a表 30,41,15,12,56,8...

数据结构课程设计题目

题目1 图的遍历。功能 实现图的深度优先,广度优先遍历算法,并输出原图结构及遍历结果。分步实施 1 初步完成总体设计,搭好框架 2 完成最低要求 两种必须都要实现,写出画图的思路 3 进一步要求 画出图的结构,有兴趣的同学可以进一步改进图的效果。要求 1 界面友好,函数功能要划分好。2 总体设计应画...

数据结构课程设计题目

数据结构课程设计 题目与要求。一 实验学时 两周。二 要求 1 题目从以下题目中选择,完成程序设计及设计文档。2 程序的要求 实现的功能要求尽量完善。完善基本功能的基础上,再扩充其它功能。3 课程设计说明书的格式要求 a4纸打印,格式设置统。一 规范 美观。三 题目。1.运动会分数统计 限1 人完成...