一、 线性表部分。
1.一元多项式的代数运算。
设计要求:计算任意两个一元多项式的加法、减法以及乘法。
设有一元多项式am(x)和bn(x).
am(x)=a0+a1x1+a2x2+a3x3+… amxm
bn(x)=b0+b1x1+b2x2+b3x3+… bnxn
请实现求m(x)= am(x)+bn(x)、m(x)= am(x)-bn(x)和m(x)= am(x)×bn(x)。
要求: 1) 首先判定多项式是否稀疏。
2) 分别采用顺序和动态存储结构实现;
3) 结果m(x)中无重复阶项和无零系数项;
要求输出结果的升幂和降幂两种排列情况。
2、舞伴问题。
假定在一舞会上,男士排成一队,女士排成一队。跳舞开始时,依次从男队和女队的队头各出一人配成舞伴。若两队初始人数不相同,则较长的那一队中未配对者等待下一轮舞曲。
设计要求:模拟上述舞伴系统,并能计算对于任何男士a和女士b在哪一轮舞曲中的k次跳舞?
3、纸牌游戏。
任务:编号为1-52张牌,正面向上,从第2张开始,以2为基数,是2的倍数的牌翻一次,直到最后一张牌;然后,从第3张开始,以3为基数,是3的倍数的牌翻一次,直到最后一张牌;然后…从第4张开始,以4为基数,是4的倍数的牌翻一次, 直到最后一张牌;..再依次5的倍数的牌翻一次,6的,7的直到以52为基数的翻过,输出:
这时正面向上的牌有哪些?
4、运动会分数统计。
任务:参加运动会有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、局部非法数据。进行程序测试,以保证程序的稳定。测试数据及测试结果请在上交的资料中写明;
5、 订票系统。
任务:通过此系统可以实现如下功能:
录入:可以录入航班情况。
查询:可以查询某个航线的情况(如,输入航班号,查询起降时间,起飞抵达城市,航班票价,票价折扣,确定航班是否满仓);可以输入起飞抵达城市,查询飞机航班情况;
订票:(订票情况可以存在一个数据文件中,结构自己设定)可以订票,如果该航班已经无票,可以提供相关可选择航班;
退票: 可退票,退票后修改相关数据文件;客户资料有姓名,证件号,订票数量及航班情况,订单要有编号。
修改航班信息:当航班信息改变可以修改航班数据文件。
要求:根据以上功能说明,设计航班信息,订票信息的存储结构,设计程序完成功能;
6、设计一个计算机管理系统完成图书管理基本业务。
基本要求】1、 每种书的登记内容包括书号、书名、著作者、现存量和库存量;
2、 对书号建立索引表(线性表)以提高查找效率;
3、 系统主要功能如下:
a) 采编入库:新购一种书,确定书号后,登记到图书帐目表中,如果表中已有,则只将库存量增加;
b) 借阅:如果一种书的现存量大于0,则借出一本,登记借阅者的书证号和归还期限,改变现存量;
归还:注销对借阅者的登记,改变该书的现存量。
7、活期储蓄帐目管理。
活期储蓄处理中,储户开户、销户、存入、支出活动频繁,系统设计要求:
1、 能比较迅速地找到储户的帐户,以实现存款、取款记账;
2、能比较简单,迅速地实现插入和删除,以实现开户和销户的需要。
二、 栈和队列。
1.八皇后问题。
设计要求:在棋盘上摆放八个皇后,使任意两个不在同一行,同一列,及同一对斜线上。皇后的摆位任意,由用户设定,程序给出剩余皇后的摆位,并以图形方式显示所有布局。
2、算术表达式合法性检验。
设计要求:输入一个一个算术表达式,进行括号匹配检验、操作符和操作数匹配检验等操作,判断是否是合法的表达式。
3、 迷宫求解。
任务:可以输入一个任意大小的迷宫数据,用非递归的方法求出一条走出迷宫的路径,并将路径输出;
要求:在上交资料中请写明:存储结构、基本算法(可以使用程序流程图)、源程序、测试数据和结果、算法的时间复杂度、另外可以提出算法的改进方法;
三、 树。1、哈夫曼编/译码器;
设计要求:针对字符集a及其各字符的频率值(可统计获得)给出其中给字符哈夫曼编码,并针对一段文本(定义在a上)进行编码和译码,实现一个哈夫曼编码/译码系统。
2、算术表达式求值。
设计要求:1、输入一个一个算术表达式,分别转化为前缀、后缀表达式。
2、将任意并根据逆波兰表示计算表达是的值。
3、二叉树遍历问题(2人一组)
设计要求:1、要求能够输入树的各个结点,创建二叉树,在屏幕上绘制该二叉树,并输出用不同方法遍历的遍历序列(先序、中序、后序、按层次遍历);
2、实现求二叉树的深度、求以x为根的子树深度、求二叉树的根、求二叉树的结点数;
3、输出从根到叶子结点的路径、
4、删除以x为根的子树并释放每个结点等基本算法。
四、 图。1、关键路径。
设计要求:对于任何大型工程项目(由若干小工程组成),求其关键路径。
2、最小生成树问题。
设计要求:在n个城市之间建设网络,只需保证连通即可,求最经济的架设方法。
3、最短路径问题。
设计要求:对给定有向图,设计图的存储结构,1、求出各顶点之间最短路径。
2、从给定源点到所有其他各顶点的最短路径长度。
4、校园导航问题。
设计要求:设计我们学校(徐州工程学院中心校区)的平面图,至少包括10个以上的场所,每两个场所间可以有不同的路,且路长也可能不同,找出从任意场所到达另一场所的最佳路径(最短路径)。
5、拓扑排序。
任务:编写函数实现图的拓扑排序。
6、地图着色问题。
设计要求:已知中国地图,对各省进行着色,要求相邻省所使用的颜色不同,并保证使用的颜色总数最少。
7、学校超市选址问题(带权有向图的中心点)
设计要求:对于某一学校超市,其他各单位到其的距离不同,同时各单位人员去超市的频度也不同。请为超市选址,要求实现总体最优。
8、教学计划编制问题。
任务:针对本学院的信计专业本科课程,根据课程之间的依赖关系,制定课程安排计划,并满足各学期课程数大致相同。按照用户输入的课程数,学期数,课程间的先后关系数目以及课程间两两间的先后关系,程序执行后会给出每学期应学的课程。
1) 输入的形式和输入值的范围:输入间用空格隔开。要求用户输入的课程数小于20,学期数小于或是等于8,课程名的长度小于等于10个字符。
2) 程序所能达到的功能:按照用户的输入,给出每学期应学的课程。
4) 测试数据:输入:学期数:
5,课程数:12,课程间的先后关系数:16,课程的代表值:
v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12。课程间两两间的先后关系:v1 v2,v1 v3, v1 v4,v1 v12,v2 v3,v3 v5,v3 v7,v3 v8,v4 v5, v5 v7,v6 v8,v9 v10, v9 v11 , v9 v12,v10 v12,v11 v6
输出:第1学期应学的课程:v1 v9
第2学期应学的课程:v2 v4 v10 v11
第3学期应学的课程:v3 v6 v12
第4学期应学的课程:v5 v8
第5学期应学的课程:v7
五、 查找。
1、利用hash技术统计c源程序中关键字的频度(2人一组)
一、任务描述。
扫描一个c源程序,用hash表存储该程序**现的关键字,并统计该程序中的关键字出现的度。用线性探测法解决hash冲突。设hash函数为:
hash(key)=[key的首字母序号)*100+(key的尾字母序号)] mod 41。关键字39个。
二、数据结构设计。
关键字表的存储结构;②hash表中的结点结构。频度、冲突次数
三、功能设计。
从一个大字符串中分解单词。
识别是否是关键词;用哪种方法:有序表查找、二叉查找树?
hash函数,解决冲突,统计冲突次数。key =>地址。
插入hash表,或调整hash表项中的频度。
输出hash表,关键词总数,冲突次数。
自己想象,功能要多,设计要合理。
四、技术讨论。
文件不同,hash表各项次序是否一样?
考察多个c源程序文件,计算当关键词总数约为1000时,冲突次数的总次数?
hash表空间增大后,是否冲突一定减少?
比较其他的hash函数,其他的冲突处理方法,效率有何差别。
题目所给的hash函数,好吗?
2、散列法的实验研究。
基本要求】1、 设每个记录有下列数据项:**号码、用户名、地址;
2、 从键盘输入各记录,分别以**号码和用户名为关键字建立散列表;
3、 采用一定的方法解决冲突;
4、 查找并显示给定**号码的记录;
5、 查找并显示给定用户名的记录。
进一步完成内容】
1、 系统功能的完善;
2、 设计不同的散列函数,比较冲突率;
在散列函数确定的前提下,尝试各种不同类型处理冲突的方法,考察平均查找长度的变化。
3、宿舍管理查询软件。
1. 任务:为宿舍管理人员编写一个宿舍管理查询软件, 程序设计要求:
a. 采用交互工作方式。
b. 建立数据文件 ,数据文件按关键字(姓名、学号、房号)进行排序(冒泡、选择、插入排序等任选一种)
2. 查询菜单: (用二分查找实现以下操作)
c. 按姓名查询
d. 按学号查询
e. 按房号查询。
打印任一查询结果(可以连续操作)
六、排序。1、排序综合。
利用随机函数产生n个随机整数(20000以上),对这些数进行多种方法进行排序。
数据结构课程设计题目
题目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 人完成...