数据结构课程设计题目整理28
数据结构与算法课程设计题目[范文大全]
![数据结构与算法课程设计题目[范文大全]](https://img.taocdn.com/s3/m/4bf43dcd162ded630b1c59eef8c75fbfc77d940b.png)
数据结构与算法课程设计题目[范文大全]第一篇:数据结构与算法课程设计题目数据结构与算法课程设计题目1.成绩管理问题描述:给出n个学生的考试成绩表,成绩表包括学生的学号、姓名、考试成绩(高等数学、英语、物理),设计一个简单的成绩管理程序。
基本要求:(1)建立成绩表,能够插入、删除、修改学生的成绩记录;(2)按任一单科成绩排序;(3)计算每名学生的平均成绩;(4)统计任一单科成绩不及格的学生人数, 输出不及格人数及不及格的学生名单(5)根据平均成绩将成绩表按由高到低的次序排列,统计每名学生在考试中获得的名次,分数相同的为同一名次,按名次输出成绩表。
(6)成绩表保存在文件中, 可以从文件读取数据。
测试数据:学生可以根据自己班级的考试成绩单,任意截取一部分做为测试数据 2.一元多项式简单计算问题描述:设计一个简单一元多项式计算器。
基本要求:(1)输入并建立多项式;(2)输出多项式;(3)两个多项式相加,输出结果多项式;(4)两个多项式相减,输出结果多项式。
提高要求:可以根据输入变量的值,计算出多项式的结果,且算法的效率高。
测试数据:可任意选取两个一元多项式,可以是一般的多项式,也可以是稀疏多项式。
3.舞伴问题问题描述:一班有m个女生、n个男生(m不等于n), 举办一场舞会.男女生分别编号坐在舞池两边的椅子上,每曲开始时, 依次从男生和女生中各出一人配对跳舞, 本曲没成功配对者坐着等待下一曲找舞伴,设计一个程序模拟舞伴配对过程。
基本要求:输入男、女学生的姓名、性别,由程序自动为男女生编号,可以顺序编号,也可以随机编号,输出每曲配对情况(包括男、女生的姓名、性别和编号)。
原始数据和结果数据要保存到文件中。
测试数据:分别选择男生多于女生、女生多于男生、男女生相等的三组测试数据提高要求:计算出任意一位男生(编号为X)和任意一位女生(编号为Y), 在第K曲配对跳舞的情况。
4.文学研究助手(*)问题描述:文学研究人员需要统计某篇英文小说中某些形容词的出现次数和位置。
数据结构课程设计题目

题目1:图的遍历功能:实现图的深度优先, 广度优先遍历算法,并输出原图结构及遍历结果。
分步实施:1) 初步完成总体设计,搭好框架;2)完成最低要求:两种必须都要实现,写出画图的思路;3)进一步要求:画出图的结构,有兴趣的同学可以进一步改进图的效果。
要求:1)界面友好,函数功能要划分好2)总体设计应画一流程图3)程序要加必要的注释4)要提供程序测试方案5)程序一定要经得起测试,宁可功能少一些,也要能运行起来,不能运行的程序是没有价值的。
题目2:n维矩阵乘法:A B-1功能:设计一个矩阵相乘的程序,首先从键盘输入两个矩阵a,b的内容,并输出两个矩阵,输出ab-1结果。
分步实施:1)初步完成总体设计,搭好框架,确定人机对话的界面,确定函数个数;2)完成最低要求:建立一个文件,可完成2维矩阵的情况;3)一步要求:通过键盘输入维数n。
有兴趣的同学可以自己扩充系统功能。
要求:1)界面友好,函数功能要划分好2)总体设计应画一流程图3)程序要加必要的注释4)要提供程序测试方案5)程序一定要经得起测试,宁可功能少一些,也要能运行起来,不能运行的程序是没有价值的。
题目3:数组应用功能:按照行优先顺序将输入的数据建成4维数组,再按照列优先顺序输出结果,给出任意处的元素值,并给出对应的一维数组中的序号。
分步实施:1.初步完成总体设计,搭好框架,确定人机对话的界面,确定函数个数;2.完成最低要求:完成第一个功能;3.进一步要求:进一步完成后续功能。
有兴趣的同学可以自己扩充系统功能。
要求:1)界面友好,函数功能要划分好2)总体设计应画一流程图3)程序要加必要的注释4)要提供程序测试方案5)程序一定要经得起测试,宁可功能少一些,也要能运行起来,不能运行的程序是没有价值的。
题目4:数组应用2功能:读入数组下标,求出数组A靠边元素之和;求从A[0][0]开始的互不相邻的各元素之和;当m=n时,分别求两条对角线上的元素之和,否则打印出m!=n的信息。
10年《数据结构》课程设计参考题

10年《数据结构》课程设计参考题数据结构课程设计要求2.学生要发挥自主学习的能力,充分利用时间,安排好课设的时间计划,并在课设过程中不断检测自己的计划完成情况。
3.课程设计完成要求运行界面友好(有菜单)、操作方便、输出结果正确、可读性强,每种操作有验证性输出。
4.按规定时间提交课程设计报告,过期计为0分。
课程设计实习报告封面的书写格式课程设计课程:数据结构题目:专业班级:姓名:学号:设计时间:指导教师:课程设计报告的内容一、设计题目二、运行环境(软、硬件环境)三、算法设计的思想四、算法的流程图五、算法设计分析六、源代码七、运行结果分析八、收获及体会课程设计题一:排序算法比较一、设计目的1.掌握各种排序的基本思想。
2.掌握各种排序方法的算法实现。
3.掌握各种排序方法的优劣分析及花费的时间的计算。
4.掌握各种排序方法所适应的不同场合。
二、设计内容和要求利用随机函数产生3000个随机整数,利用插入排序、起泡排序、选择排序、快速排序、堆排序、归并排序等排序方法进行排序,并统计每一种排序上机所花费的时间。
--------------------------------------课程设计题二:图的深度周游一、设计目的1.掌握图的邻接表存贮结构。
2.掌握堆栈的基本运算实现。
3.掌握图的邻接表的算法实现。
4.掌握图的深度优先搜索周游算法实现。
二、设计内容和要求对任意给定的图(顶点数和边数自定),建立它的邻接表并输出,然后利用堆栈的五种基本运算(清空堆栈、压栈、弹出、取栈顶元素、判栈空)实现图的深度优先搜索周游。
--------------------------------------课程设计题三:图的广度周游一、设计目的1.掌握图的邻接表存贮结构。
2.掌握队列的基本运算实现。
3.掌握图的邻接表的算法实现。
4.掌握图的广度优先搜索周游算法实现。
二、设计内容和要求对任意给定的图(顶点数和边数自定),建立它的邻接表并输出,然后利用队列的五种基本运算(置空队列、进队、出队、取队头元素、判队空)实现图的广度优先搜索周游。
大数据结构毕业设计题目整理

数据结构课程设计题目1.飞机订票系统(限1人完成)(顺序或链式存储)任务:通过此系统可以实现如下功能:录入:可以录入航班情况(数据可以存储在一个数据文件中,数据结构、具体数据自定)查询:可以查询某个航线的情况(如,输入航班号,查询起降时间,起飞抵达城市,航班票价,票价折扣,确定航班是否满仓);可以输入起飞抵达城市,查询飞机航班情况;订票:(订票情况可以存在一个数据文件中,结构自己设定)可以订票,如果该航班已经无票,可以提供相关可选择航班;退票:可退票,退票后修改相关数据文件;客户资料有姓名,证件号,订票数量及航班情况,订单要有编号。
修改航班信息:当航班信息改变可以修改航班数据文件要求:根据以上功能说明,设计航班信息,订票信息,客户信息的存储结构,设计程序完成功能;2.宿舍管理查询软件(限1人完成)任务:为宿舍管理人员编写一个宿舍管理查询软件,程序设计要求:采用交互工作方式建立数据文件,包括学生信息、宿舍信息、住宿信息,学生信息按关键字(姓名、学号)进行排序(排序方法自选,不能相同);查询:(用二分查找实现以下操作)按姓名查询按学号查询(用顺序查找实现以下操作)按房号查询3.校园导航问题(限1人完成)设计要求:设计你的学校的平面图,至少包括10个以上的场所,每两个场所间可以有不同的路,且路长也可能不同,找出从任意场所到达另一场所的最佳路径(最短路径)。
要求:能增加场所4.图书借阅管理系统(限1人完成)(顺序或链式存储)主要分为两大功能:1)图书管理(增加图书、查询图书、删除图书、图书借阅、还书);2)会员管理(增加会员、查询会员、删除会员、借书信息);5.学生成绩管理(限1人完成)(顺序或链式存储)包括:课程信息,学生信息等;能增加课程或学生。
实现功能:输入、输出、插入、删除、查找、显示、保存、排序、退出。
6.活期储蓄帐目管理(限1人完成)活期储蓄处理中,储户开户、销户、存入、支出活动频繁,系统设计要求:1)能比较迅速地找到储户的帐户,以实现存款、取款记账;2)能比较简单,迅速地实现插入和删除,以实现开户和销户的需要。
数据结构课程设计实例100例

数据结构课程设计实例100例1. 设计一个简单的栈数据结构。
2. 实现一个简单的队列数据结构。
3. 设计一个链表数据结构。
4. 实现一个二叉树数据结构。
5. 设计一个哈希表数据结构。
6. 实现一个图数据结构。
7. 设计一个堆数据结构。
8. 实现一个优先队列数据结构。
9. 设计一个有向图数据结构。
10. 实现一个循环链表数据结构。
11. 设计一个红黑树数据结构。
12. 实现一个字典数据结构。
13. 设计一个AVL树数据结构。
14. 实现一个散列表数据结构。
15. 设计一个双端队列数据结构。
16. 实现一个字典树数据结构。
17. 设计一个多叉树数据结构。
18. 实现一个最小生成树算法。
19. 设计一个并查集数据结构。
20. 实现一个图的遍历算法。
21. 设计一个迪杰斯特拉算法。
22. 实现一个Floyd算法。
23. 设计一个拓扑排序算法。
24. 实现一个最短路径算法。
25. 设计一个Kruskal算法。
26. 实现一个插入排序算法。
27. 设计一个快速排序算法。
28. 实现一个希尔排序算法。
29. 设计一个选择排序算法。
30. 实现一个冒泡排序算法。
31. 设计一个堆排序算法。
32. 实现一个归并排序算法。
33. 设计一个桶排序算法。
34. 实现一个基数排序算法。
35. 设计一个计数排序算法。
36. 实现一个递归算法。
37. 设计一个动态规划算法。
38. 实现一个回溯算法。
39. 设计一个哈夫曼编码算法。
40. 实现一个最大子序列和算法。
41. 设计一个最长递增子序列算法。
42. 实现一个最长公共子序列算法。
43. 设计一个贪婪算法。
44. 实现一个深度优先搜索算法。
45. 设计一个广度优先搜索算法。
46. 实现一个信号量算法。
47. 设计一个分治算法。
48. 实现一个枚举算法。
49. 设计一个置换算法。
50. 实现一个位运算算法。
51. 设计一个红黑树插入算法。
52. 实现一个二进制查找算法。
53. 设计一个最小堆插入算法。
数据结构课程设计题目

算法与数据结构课程设计一、线性表题1、建立一个单链表,显示链表中每个节点的数据,并做删除和插入处理。
例:(掌握线性表在链式存储结构下的基本运算的实现。
)1、功能(1)建立以带头结点的单链表(2)显示链表中每个结点的数据(3)在单链表中指定位置插入指定数据并输出单链表中所有数据(4)删除单链表中指定的结点并输出单链表中所有数据2、输入要求输入单链表中所有数据,插入的数据元素的位置、值,要删除的数据元素的位置。
3、测试数据单链表中所有数据:12,23,56,21,8,10,15,67,90,32插入的数据元素的位置、值:1,28要删除的数据元素的位置:10[概要设计](1)算法思想:由于在操作过程中要进行插入、删除操作,为运算方便,选用单带头结点的单链表作数据元素的存储结构。
对每个数据元素,由一个数据域和一个指针域组成,数据域放输入的数据值,指针域指向下一个结点。
(2)数据结构单链表结点类型:typedef struct Node{ int data;struct node *next;}ListNode;带头结点的单链表类型定义:typedef ListNode *LinkList;(3)模块划分:①建立点头结点的单链表CreatLinkList;②显示链表中每个结点的数据PrintList;③在单链表中指定位置插入指定数据并输出单链表中所有数据InsertList;④删除单链表中指定的结点并输出单链表中所有数据DeleteList;⑤主函数mian(),功能是给出测试数据值,建立测试数据值的带头结点的单链表,调用PrintList函数、InsertList函数、DeleteList函数实现问题要求。
[详细设计] 见程序LinkList.c题2、约瑟夫环(Joseph)问题的一种描述是:编号1,2,┉,n的n个人按顺时针方向围坐一圈,每个人持有一个密码(正整数),一开始,任选一个正整数作为报数上线值m,从第一个人开始按顺时针方向自1开始顺序报数,报到m时停止报数。
数据结构课程设计题目及要求

数据结构课程设计题目及要求一、要求本次课程设计可以从以下的题目中任选其一,每个题目基本实现的要求是:有菜单功能有读写数据存盘功能成品应包括以下内容:程序设计书(Word格式)。
包括程序设计目标、问题描述、需求分析、概要设计、详细设计、源程序清单(要求格式整齐400行以上,要有注释说明)、软件说明书(给出软件如何使用,使用时的注意事项)、测试报告(每个函数的功能测试,输入条件,输出结果)和课程设计总结。
2、可执行程序源代码。
3、答辩时使用的ppt。
二、设计题目题目一:仓库管理系统(线性表应用)[问题描述]建立一个仓库管理程序,可以按顺序和货物名称查询仓库存储情况,也可以增加或删除货物以及建立新的仓库存储系统。
[实现提示]可以采用双向链表的存储结构,如可定义如下的存储结构:typedef struct dnode /*定义双向链表结构体*/{int number; /*货物编号*/char name[max]; /*货物名称*/int counter; /*货物数量*/struct dnode *prior,*next; /*定义两指针,分别指向其前驱和后继*/}dlnode;题目二:单位员工通讯录管理系统(线性表应用)[问题描述]为某个单位建立一个员工通讯录管理系统,可以方便查询每一个员工的办公室电话、手机号、及电子邮箱。
其功能包括通讯录链表的建立、员工通讯信息的查询、修改、插入与删除、以及整个通讯录表的输出。
[实现提示]可以采用单链表的存储结构,如可定义如下的存储结构:typedef struct { /*员工通讯信息的结构类型定义*/char num[5]; /*员工编号*/char name[10]; /*员工姓名*/char phone[15]; /*办公室电话号码*/char call[15]; /*手机号码*/}DataType;/*通讯录单链表的结点类型*/typedef struct node{ DataType data; /*结点的数据域*/struct node *next; /*结点的指针域*/}ListNode,*LinkList;题目三: 哈夫曼编码/译码系统(树应用)[问题描述]利用哈夫曼编码进行通信,可以压缩通信的数据量,提高传输效率,缩短信息的传输时间,还有一定的保密性。
数据结构课程设计-学生-21个题目

选题一:迷宫与栈问题【问题描述】以一个mXn的长方阵表示迷宫,0和1分别表示迷宫中的通路和障碍。
设计一个程序,对任意设定的迷宫,求出一条从入口到出口的通路,或得出没有通路的结论。
【任务要求】1)首先实现一个以链表作存储结构的栈类型,然后编写一个求解迷宫的非递归程序。
求得的通路以三元组(i,j,d)的形式输出。
其中:(i,j)指示迷宫中的一个坐标,d表示走到下一坐标的方向。
如,对于下列数据的迷宫,输出一条通路为:(1,1,1),(1,2,2),(2,2,2),(3,2,3),(3,1,2),…。
2)编写递归形式的算法,求得迷宫中所有可能的通路。
3)以方阵形式输出迷宫及其通路。
【测试数据】迷宫的测试数据如下:左上角(0,1)为入口,右下角(8,9)为出口。
出口出口选题二:算术表达式与二叉树【问题描述】一个表达式和一棵二叉树之间,存在着自然的对应关系。
写一个程序,实现基于二叉树表示的算术表达式的操作。
【任务要求】假设算术表达式Expression内可以含有变量(a~z)、常量(0~9)和二元运算符(+,-,*,/,^(乘幂))。
实现以下操作:1)ReadExpre(E)—以字符序列的形式输入语法正确的前缀表达式并构造表达式E。
2)WriteExpre(E)—用带括弧的中缀表达式输出表达式E。
3)Assign(V,c)—实现对变量V的赋值(V=c),变量的初值为0。
4)Value(E)—对算术表达式E求值。
5)CompoundExpr(P,E1,E2)--构造一个新的复合表达式(E1)P(E2)【测试数据】1)分别输入0;a;-91;+a*bc;+*5^x2*8x;+++*3^x3*2^x2x6并输出。
2)每当输入一个表达式后,对其中的变量赋值,然后对表达式求值。
选题三:银行业务模拟与离散事件模拟【问题描述】假设某银行有4个窗口对外接待客户,从早晨银行开门(开门9:00am,关门5:00pm)起不断有客户进入银行。
数据结构课程设计题目汇总及要求

数据结构课程设计题目课程设计题一:线性表子系统一.设计目的:1.掌握线性表的特点2.掌握线性表的顺序存储结构和链式存储结构的基本运算3.掌握线性表的基本操作二.设计内容和要求:1.设计一个选择式菜单。
线性表子系统******************************************************* 1 ……建表** 2 ……插入** 3 ……删除** 4 ……显示** 5 ……查找** 6 ……求表长** 0 ……返回*******************************************************请选择菜单号(0…6):2.采用单链表创建线性表。
3.在线性表中实现插入、删除元素,显示线性表中所有元素,查找元素和求线性表长的基本操作。
课程设计题二:栈子系统一.设计目的:1.掌握栈的特点及其描述方法2.掌握链式存储结构实现一个栈3.掌握链栈的各种基本操作4.掌握栈的典型应用的算法二.设计内容和要求:1.设计一个选择式菜单。
栈子系统****************************************************** * 1 ……入栈* * 2 ……出栈* * 3 ……显示* * 4 ……数制转换* * 0 ……返回* ****************************************************** 请选择菜单号(0…4):2.设计一个整型数据元素的链栈。
3.编写入栈、出栈和显示栈中全部元素的程序。
4.编写一个把十进制数转换成八进制数的应用程序。
课程设计题三:队列子系统一.设计目的:1.掌握队列的特点及其描述方法2.掌握链式存储结构实现一个队列3.掌握队列的各种基本操作4.掌握队列简单应用的算法二.设计内容和要求:1.设计一个选择式菜单。
队列子系统******************************************************* 1 ……入队** 2 ……出队** 3 ……读队首元素** 4 ……显示** 5 ……报数问题** 0 ……退出*******************************************************请选择菜单号(0…5):2.设计一个整型数据元素的链队列。
数据结构课程设计题目

数据结构课程设计题目以下7个题目任选其一。
1.排序算法比较利用随机函数产生30000个随机整数,利用插入排序、起泡排序、选择排序、快速排序、堆排序、归并排序等排序方法进行排序,并且(1)统计每一种排序上机所花费的时间。
(2)统计在完全正序,完全逆序情况下记录的比较次数和移动次数。
(3)比较的指标为关键字的比较次数和记录的移动次数(一次记录交换计为3次移动)。
(4)对结果作简单分析,包括对各组数据得出结果波动大小的解释。
2.图的深度遍历对任意给定的图(顶点数和边数自定),建立它的邻接表并输出,然后利用堆栈的五种基本运算(清空堆栈、压栈、弹出、取栈顶元素、判栈空)实现图的深度优先搜索遍历。
画出搜索顺序示意图。
3.图的广度遍历对任意给定的图(顶点数和边数自定),建立它的邻接表并输出,然后利用队列的五种基本运算(置空队列、进队、出队、取队头元素、判队空)实现图的广度优先搜索遍历。
画出搜索顺序示意图。
4.二叉树的遍历对任意给定的二叉树(顶点数自定)建立它的二叉链表存贮结构,并利用栈的五种基本运算(置空栈、进栈、出栈、取栈顶元素、判栈空)实现二叉树的先序、中序、后序三种遍历,输出三种遍历的结果。
画出搜索顺序示意图。
5.链表操作利用链表的插入运算建立线性链表,然后利用链表的查找、删除、计数、输出等运算反复实现链表的这些操作(插入、删除、查找、计数、输出单独写成函数的形式),并能在屏幕上输出操作前后的结果。
画出搜索顺序示意图。
6.一元稀疏多项式简单计数器(1)输入并建立多项式(2)输出多项式,输出形式为整数序列:n,c1,e1,c2,e2……cn,en,其中n是多项式的项数,ci,ei分别为第i项的系数和指数。
序列按指数降序排列。
(3)多项式a和b相加,建立多项式a+b,输出相加的多项式。
(4)多项式a和b相减,建立多项式a-b,输出相减的多项式。
用带头结点的单链表存储多项式。
测试数据:(1)(2x+5x8-3.1x11)+(7-5x8+11x9)(2)(6x-3-x+4.4x2-1.2x9)-(-6x-3+5.4x2+7.8x15)(3)(x+x2+x3)+0(4)(x+x3)-(-x-x-3)7.实现两个链表的合并基本功能要求:(1)建立两个链表A和B,链表元素个数分别为m和n个。
数据结构课程设计题目

数据结构课程设计题⽬《数据结构》课程设计题⽬1. 排序算法的性能分析问题描述设计⼀个测试程序,⽐较⼏种内部排序算法的关键字⽐较次数和移动次数以取得直观感受。
基本要求(1)对冒泡排序、直接排序、选择排序、箱⼦排序、堆排序、快速排序及归并排序算法进⾏⽐较。
(2)待排序表的表长不⼩于100,表中数据随机产⽣,⾄少⽤5组不同数据作⽐较,⽐较指标:关键字参加⽐较次数和关键字的移动次数(关键字交换记为3次移动)。
(3)输出⽐较结果。
选做内容(1)对不同表长进⾏⽐较。
(2)验证各算法的稳定性。
(3)输出界⾯的优化。
2. 排序算法思想的可视化演⽰—1基本要求排序数据随机产⽣,针对随机案例,对冒泡排序、箱⼦排序、堆排序、归并算法,提供排序执⾏过程的动态图形演⽰。
3. 排序算法思想的可视化演⽰—2基本要求排序数据随机产⽣,针对随机案例,,对插⼊排序、选择排序、基数排序、快速排序算法,提供排序执⾏过程的动态图形演⽰。
4. 线性表的实现与分析基本要求①设计并实现线性表。
②线性表分别采取数组(公式化描述)、单链表、双向链表、间接寻址存储⽅式③针对随机产⽣的线性表实例,实现线性表的插⼊、删除、搜索操作动态演⽰(图形演⽰)。
5. 等价类实现及其应⽤问题描述:某⼯⼚有⼀台机器能够执⾏n个任务,任务i的释放时间为r i(是⼀个整数),最后期限为d i(也是整数)。
在该机上完成每个任务都需要⼀个单元的时间。
⼀种可⾏的调度⽅案是为每个任务分配相应的时间段,使得任务i的时间段正好位于释放时间和最后期限之间。
⼀个时间段不允许分配给多个任务。
基本要求:使⽤等价类实现以上机器调度问题。
等价类分别采取两种数据结构实现。
6. ⼀元稀疏多项式计算器问题描述设计⼀个⼀元稀疏多项式简单计算器。
基本要求⼀元稀疏多项式简单计算器的基本功能是:(1)输⼊并建⽴多项式;(2)输出多项式,输出形式为整数序列:n,c1,e1,c2,e2,…,c n,e n,其中n是多项式的项数,c i,e i,分别是第i项的系数和指数,序列按指数降序排序;(3)多项式a和b相加,建⽴多项式a+b;(4)多项式a和b相减,建⽴多项式a-b;(5)计算多项式在x处的值;(6)计算器的仿真界⾯(选做)7. 长整数的代数计算问题描述应⽤线性数据结构解决长整数的计算问题。
数据结构课程设计题目(最终版)-2012

数据结构课程设计题目1、医务室模拟。
问题描述:假设只有一位医生,在一段时间内随机地来几位病人;假设病人到达的时间间隔为0~14分钟之间的某个随机值,每个病人所需处理时间为1~9分钟之间的某个随机值。
试用队列结构进行模拟。
实现要求:要求输出医生的总等待时间和病人的平均等待时间。
程序设计思路:计算机模拟事件处理时,程序按模拟环境中的事件出现顺序逐一处理,在本程序中体现为医生逐个为到达病人看病。
当一个病人就诊完毕而下一位还未到达时,时间立即推进为下一位病人服务,中间时间为医生空闲时间。
当一个病人还未结束之前,另有一位病人到达,则这些病人应依次排队,等候就诊。
2、招聘模拟问题描述:某集团公司为发展生产向社会公开招聘m个工种的工作人员,每个工种各有不同的编号(0,1,2,…,m-1)和计划招聘人数,参加招聘的人数有n个(编号为0,1,2,。
,n-1)。
每位应聘者可以申报两个工种,并参加公司组织的考试。
公司将按应聘者的成绩,从高到低的顺序排队录取。
公司的录取原则是:从高分到低分依次对每位应聘者按其第一志愿录取;当不能按第一志愿录取时,便将他的成绩扣去5分后,重新排队,并按其志愿考虑录取。
程序为每个工种保留一个录取者的有序队列。
录取处理循环直至招聘额满,或已对全部应聘者都做了录用处理。
实现要求:要求程序输出每个工种录用者的信息(编号、成绩),以及落选者的信息(编号、成绩)。
3、组织机构问题问题描述:以青岛理工大学为例,实现对我校组织结构的管理。
要求把我校的组织结构以树型结构存储,实现要求:(1)树中每个结点保存部门名称;(2)假定处级部门(含院系)在树中第二层,科级部门在第三层(即最后一层),软件应该能计算出处级部门有几个,有哪几个?(3)软件可以查询某部门下面的具体编制?4、最少换车次数问题问题描述:设某城市有n个车站,并有m条公交线路连接这些车站。
设这些公交车站都是单向的,这n个车站被顺序编号为0~n-1。
数据结构课程设计题目

数据结构课程设计题目数据结构课程设计一、考核方法和内容根据课程设计过程中学生的学生态度、题目完成情况、课程设计报告书的质量和回答问题的情况等按照10%、40%、30%、20%加权综合打分。
成绩评定实行优秀、良好、中等、及格和不及格五个等级。
评分标准:优秀:答辩所有问题都能答出+报告良好或报告良好+实现“提高部分”的功能;良好:答辩所有问题都能答出+报告一般;或报告一般+实现“提高部分”的功能;中等:答辩大部分问题能答出+报告良好;及格:答辩大部分问题能答出+报告一般;以下四种,都不及格:1)答辩几乎答不出问题;2)报告几乎都是代码;3)雷同部分达到60%;4)课设报告与数据结构和c/c++关联不大。
课设报告的装订顺序如下:任务书(签名,把题目要求贴在相应位置,注意下划线)-----目录(注意目录的格式,页码)-----1、设计任务(题目要求)-----2、需求分析(准备选用什么数据逻辑结构?数据元素包含哪些属性?需要哪些函数?为什么要这样设计?最后列出抽象数据类型定义)-----3、系统设计(设计实现抽象数据类型,包含选择什么物理存储方式?数据元素的结构体或类定义,以及各函数的设计思路,算法,程序流程图等)----4、编码实现(重要函数的实现代码)-----5、调试分析(选择多组测试数据、运行截图、结果分析)-----6、课设总结(心得体会)-----7、谢辞-----8、参考文献;课设报告打印要求:B5纸张打印,报告总页数控制在10—15页内,报告中不能全是代码,报告中代码总量控制在3页内。
版式:无页眉,有页码,页码居中字号:小四,单倍行距字体:宋体+Times new Romar截图:截图要配图的编号和图的题目,如:“图1 Insert函数流程图”二、课程设计的题目1.长整数的加法运算2.通讯录管理系统的设计与实现——顺序表3.广义表的应用4.学生成绩管理系统的设计与实现5.家谱管理系统的设计与实现6.集合的并、交和差运算的程序7.运动会分数统计8.一元多项式计算器9.文章编辑10.哈夫曼树及其编码11.校园导游咨询12.通讯录管理系统的设计与实现——单链表13.地图着色问题14.内部排序算法比较15.火车售票系统16.图书管理系统17.客户消费积分管理系统18.产品进销存管理系统19. 迷宫求解20.通讯录管理系统的设计与实现——哈希表---线性探测再散列21.语言中平衡符号的问题22.算术表达式求解23.数制转换问题24.九宫格问题25.停车场管理26.关键路径问题27.通讯录管理系统的设计与实现——哈希表——链地址法28.歌星大奖赛29.病人就医管理30.简单目录管理系统的设计与实现31.最短旅程的求解32.通讯录管理系统的设计与实现——哈希表——二次探测再散列33.宿舍管理查询软件34.表达式求值,并能给出分数,可供小学生作业练习的小程序35.服装销售系统36.机房机位预约模拟系统37.歌曲信息管理系统38.学生点名系统39.猜数游戏三、数据结构课程设计的具体内容(想要优,必须实现“提高部分”的功能,其他,不用完成“提高部分”)要求:全部采用数据结构课程中的内容实现,采用C或C++实现,逻辑结构只能选线性结构、树型结构、图型结构、集合结构中的一种,不能用数据库。
数据结构课程设计可选题目

1.背包问题的求解2.全国交通咨询模拟3.一元稀疏多项式计算器4.马踏棋盘5.电梯模拟6.重言式判别7.教学计划编制8.全国交通咨询模拟9.运动会分数统计10.订票系统11.文章编辑12.约瑟夫环(Joseph)13.校园导游程序14.任意长的整数加法15.通讯录管理系统的设计与实现.16.产品进销存管理系统17..学生信息管理系统的设计与实现18.简易电子表格的设计19.教师信息管理系统的设计与实现20.电话号码查询系统21.二叉排序树与平衡二叉树的实现22.仓库管理系统23.农夫过河问题的求解24.图书管理信息系统的设计与实现25.客户消费积分管理系统26.商店售货管理系统的设计与实现27.家谱管理系统28.排序算法比较29.算术表达式求值30.职工工资管理系统的设计与实现31.房屋销售管理信息系统的设计与实现32.电视大赛观众投票及排名系统33.超市管理信息系统的设计与实现34.药店的药品销售统计系统35.教师职称管理系统的设计与实现36.宾馆客房管理系统的设计与实现37.航空售票处的服务系统38.营业窗口队列模拟39.迷宫问题40.八皇后问题41.运算器42.稀疏矩阵运算器43.电话号码查询系统44.停车场模拟管理程序的设计与实现45.哈夫曼编/译码的设计与实现46.班级学生成绩管理系统47.个人书籍管理系统的设计与实现48.稀疏矩阵的应用49.银行业务模拟50.最小生成树的Prime算法实现51.最小生成树的Kruskal算法实现52.链式串的实现53.多项式运算的实现54.数制转换问题55.关键路径求解56.纸牌游戏57.宿舍管理查询软件58.活期储蓄帐目管理59.手机通讯录的制作60.H TML文档标记匹配算法。
数据结构课程设计题目

数据结构课程设计题目题目1:设计链表结构的相关函数库,以便在程序设计中调用。
要求:(1)实现链表的各种基本函数以及常用函数;(2)给出1-2个例子,通过调用自己的库函数来实现问题的求解。
(限选1-2人)题目2:设计顺序表结构的相关函数库,以便在程序设计中调用。
要求:(1)实现顺序表的各种基本函数以及常用函数;(2)给出1-2个例子,通过调用自己的库函数来实现问题的求解。
(限选1-2人)题目3:设计程序以实现任意两个高次多项式的加法和减法运算。
要求:(1)所设计的数据结构应尽可能节省存储空间;(2)程序的运行时间尽可能少。
(限选1-2人)题目4:设计一个模拟计算机器程序,要求能对包含加、减、乘、除、括号运算符及SQR 和ABS函数的任意整型表达式进行求解。
要求:运算前应先检查有关运算条件,并对错误产生报警。
(限选2-3人)题目5:设计二叉链表结构的相关函数库,以便在程序设计中调用。
要求:(1)实现二叉树的各种基本函数以及常用函数;(2)给出1-2个例子,通过调用自己的库函数来实现问题的求解。
(限选1-2人)题目6:设计树结构的相关函数库,以便在程序设计中调用。
要求:(1)包括树的存储结构及各种基本函数以及常用函数;(2)给出1-2个例子,通过调用自己的库函数来实现问题的求解。
(限选1-2人)题目7:设计程序以实现构造哈夫曼树的哈夫曼算法。
要求:求解所构造的哈夫曼树的带权路径长度。
(限选1-2人)题目8:设计图结构的相关函数,以便在程序设计中调用。
要求:(1)实现图的存储结构及各种基本函数以及常用函数;(2)给出1-2个例子,通过调用自己的库函数来实现问题的求解。
(限选1-2人)题目9:设计程序完成如下功能:对给定的图和起点,产生其所有的深度优先遍历序列。
(1-2人)题目10:设计程序完成如下功能:对给定的网和起点,实现求解最小生成树的Prim算法。
(限选1-2人)题目11:设计程序完成如下功能:对给定的网和起点,实现求解最小生成树的Kruskal算法。
数据结构课程设计实例100例

数据结构课程设计实例100例数据结构是计算机科学中的基础课程,它研究的是数据的组织、存储和管理方式。
在学习数据结构的过程中,设计实例是一个重要的环节,能够帮助学生更好地理解和应用所学的知识。
本文将为大家介绍100个数据结构课程设计实例,希望能够为大家提供一些参考和启发。
一、线性表1. 实现一个动态数组,能够实现自动扩容和缩容。
2. 设计一个栈,实现压栈、弹栈和获取栈顶元素的操作。
3. 实现一个队列,能够实现入队、出队和获取队首元素的操作。
4. 设计一个循环队列,能够实现入队、出队和获取队首元素的操作。
5. 实现一个双向链表,能够实现插入、删除和查找元素的操作。
二、树6. 实现一个二叉树,能够实现前序、中序和后序遍历。
7. 实现一个二叉查找树,能够实现插入、删除和查找元素的操作。
8. 实现一个平衡二叉查找树,能够实现插入、删除和查找元素的操作,并保持树的平衡。
9. 实现一个堆,能够实现插入、删除和获取最大(或最小)元素的操作。
10. 实现一个哈夫曼树,能够根据给定的权重生成哈夫曼编码。
三、图11. 实现一个图的邻接矩阵表示法,能够实现插入、删除和查询边的操作。
12. 实现一个图的邻接表表示法,能够实现插入、删除和查询边的操作。
13. 实现一个图的深度优先搜索算法,能够找到从给定顶点出发的所有连通顶点。
14. 实现一个图的广度优先搜索算法,能够找到从给定顶点出发的所有连通顶点。
15. 实现一个最小生成树算法,能够找到连接图中所有顶点的最小权重边集合。
四、排序算法16. 实现一个冒泡排序算法,能够对给定的数组进行排序。
17. 实现一个选择排序算法,能够对给定的数组进行排序。
18. 实现一个插入排序算法,能够对给定的数组进行排序。
19. 实现一个希尔排序算法,能够对给定的数组进行排序。
20. 实现一个归并排序算法,能够对给定的数组进行排序。
五、查找算法21. 实现一个顺序查找算法,能够在给定的数组中查找指定元素。
数据结构程序设计题目共29题

目录题目1:设计一元多项式简单计算 (1)题目2:链表应用1 (1)题目3:链表应用2 (1)题目4:通讯录 (2)题目5:停车场管理系统................................................ 错误!未定义书签。
题目6:约瑟夫环 (3)题目7:运动会分数统计 (3)题目8:文学研究助手问题 (3)题目9:银行业务模拟与离散事件模拟 (4)题目10:学生信息管理系统任务(用顺序表/链表)....... 错误!未定义书签。
题目11:文章编辑功能 ................................................. 错误!未定义书签。
题目12:实验室管理..................................................... 错误!未定义书签。
题目13:二叉树的基本操作(建立、求二叉树树深度、遍历).. (4)题目14:纸牌游戏任务 (5)题目15:算术表达式求值 (5)题目16:内部排序算法比较 (5)题目17:哈夫曼树的构造和哈夫曼编码/译码 (6)题目18:构造可以使n个城市连接的最小生成树 (7)题目19:交通咨询系统中的最短路径 (7)题目20:集合的交、并、差运算 ................................... 错误!未定义书签。
题目21:长整数四则运算 (7)题目22:机订票系统..................................................... 错误!未定义书签。
题目23:图书管理系统 (8)题目24:哈希表应用 (8)题目25:模拟旅馆管理系统的一个功能——床位的分配与回收 (9)题目26:地图着色问题 (9)题目27:俄罗斯套娃问题 (10)题目28:扫雷 (11)题目29:用C语言设计一个日历系统 (11)题目1:设计一元多项式计算【任务要求】(1)能够按照指数降序排列建立并输出多项式;(2)能够完成两个多项式的相加、相减,并将结果输入;实现提示:可选择带头结点的单向循环链表或单链表存储多项式,头结点可存放多项式的参数,如项数等。
数据结构课程设计题目表

《数据结构》课程设计课题表课题1:设计出链表结构的相关函数库,以便在程序设计中调用。
要求:(1)包括线性表的各种基本函数以及常用函数(自己确定函数、函数形式及理由)。
(2)最好能借助语言环境实现图形显示功能,以便能将抽象的数据结构以图形方式显示出来,将复杂的运行过程以动态方式显示出来。
(3)给出若干例程,演示通过调用自己的库函数来实现相关问题的求解。
课题2:设计出顺序表结构的相关函数库,以便在程序设计中调用。
要求:(1)包括线性表的各种基本函数以及常用函数(自己确定函数、函数形式及理由)。
(2)最好能借助语言环境实现图形显示功能,以便能将抽象的数据结构以图形方式显示出来,将复杂的运行过程以动态方式显示出来。
(3)给出若干例程,演示通过调用自己的库函数来实现相关问题的求解。
课题3:设计程序以实现任意两个高次多项式的加法和乘法运算。
要求:(1)所设计的数据结构应尽可能节省存储空间。
(2)程序的运行时间应尽可能少。
课题4:设计一个模拟计算器的程序,要求能对包含加、减、乘、除、括号运算符及SQR和ABS函数的任意整型表达式进行求解。
要求:要检查有关运算的条件,并对错误的条件产生报警。
课题5:设计出二叉链表结构的相关函数库,以便在程序设计中调用。
要求:(1)包括二叉树的各种基本函数以及常用函数(自己确定函数、函数形式及理由)。
(2)最好能借助语言环境实现图形显示功能,以便能将抽象的数据结构以图形方式显示出来,将复杂的运行过程以动态方式显示出来。
(3)给出若干例程,演示通过调用自己的库函数来实现相关问题的求解。
课题6:设计出树结构的相关函数库,以便在程序设计中调用。
要求:(1)包括树结构的存储结构及各种基本函数以及常用函数(自己确定函数、函数形式及理由)。
(2)最好能借助语言环境实现图形显示功能,以便能将抽象的数据结构以图形方式显示出来,将复杂的运行过程以动态方式显示出来。
(3)给出若干例程,演示通过调用自己的库函数来实现相关问题的求解。
数据结构课程设计题目整理

数据结构课程设计题目1.飞机订票系统(限1 人完成)(顺序或链式存储)任务:通过此系统可以实现如下功能:录入:可以录入航班情况(数据可以存储在一个数据文件中,数据结构、具体数据自定)查询:可以查询某个航线的情况(如,输入航班号,查询起降时间,起飞抵达城市,航班票价,票价折扣,确定航班是否满仓);可以输入起飞抵达城市,查询飞机航班情况;订票:(订票情况可以存在一个数据文件中,结构自己设定)可以订票,如果该航班已经无票,可以提供相关可选择航班;退票:可退票,退票后修改相关数据文件;客户资料有姓名,证件号,订票数量及航班情况,订单要有编号。
修改航班信息:当航班信息改变可以修改航班数据文件要求:根据以上功能说明,设计航班信息,订票信息,客户信息的存储结构,设计程序完成功能;2.宿舍管理查询软件(限1 人完成)任务:为宿舍管理人员编写一个宿舍管理查询软件, 程序设计要求:采用交互工作方式建立数据文件,包括学生信息、宿舍信息、住宿信息,学生信息按关键字(姓名、学号)进行排序(排序方法自选,不能相同);查询: (用二分查找实现以下操作)按姓名查询按学号查询(用顺序查找实现以下操作)按房号查询3.校园导航问题(限1 人完成)设计要求:设计你的学校的平面图,至少包括10个以上的场所,每两个场所间可以有不同的路,且路长也可能不同,找出从任意场所到达另一场所的最佳路径(最短路径)。
要求:能增加场所4.图书借阅管理系统(限1 人完成)(顺序或链式存储)主要分为两大功能:1)图书管理(增加图书、查询图书、删除图书、图书借阅、还书);2)会员管理(增加会员、查询会员、删除会员、借书信息);5.学生成绩管理(限1 人完成)(顺序或链式存储)包括:课程信息,学生信息等;能增加课程或学生。
实现功能:输入、输出、插入、删除、查找、显示、保存、排序、退出。
6.活期储蓄帐目管理(限1 人完成)活期储蓄处理中,储户开户、销户、存入、支出活动频繁,系统设计要求:1)能比较迅速地找到储户的帐户,以实现存款、取款记账;2)能比较简单,迅速地实现插入和删除,以实现开户和销户的需要。
数据结构课程设计参考题目(一)

数据结构课程设计参考题目(一)数据结构是计算机科学中的一门基础课程,它主要研究数据的组织、存储、管理和操作等方面的问题。
随着计算机技术的发展,数据结构逐渐成为各个领域必不可少的一门课程。
而数据结构课程设计参考题目是该课程的一项重要内容,它能够帮助学生更好地掌握课程知识,提高对数据结构的理解和应用能力。
以下是几个数据结构课程设计参考题目。
1.链表操作设计一个链表类,使得它能够实现插入、删除、查找和遍历链表的操作。
要求采用单向链表或双向链表实现,并考虑链表的循环操作。
同时,要求能够对链表进行排序操作。
2.栈与队列操作设计一个栈和队列类,使得它们能够实现入栈、出栈、入队和出队的操作。
要求采用数组或链表实现,并可用于表达式转换和括号匹配等相关问题。
3.堆排序算法实现堆排序算法,要求能够对整型数列进行排序,并输出其排序后的结果。
要求堆的构建、删除和调整操作均可用最大堆或最小堆实现。
同时,要求能够对算法的时间复杂度进行分析,并与快速排序等算法进行比较。
4.哈希表实现设计一个哈希表类,使其能够实现插入、删除和查找等操作。
要求采用链地址法或开放地址法实现,同时需要考虑哈希函数和扩容等问题。
要求能够对哈希冲突的解决方法进行比较和分析。
5.树与图的遍历实现二叉树、B树或B+树的遍历操作,要求能够实现先序、中序和后序遍历,并能够循环遍历或递归遍历。
同时,要求能够对树的平衡性进行探究和讨论。
另外,树的遍历也是图的遍历的基础,可以通过深度优先搜索或广度优先搜索实现图的遍历。
以上是一些常见的数据结构课程设计参考题目,它们可以锻炼学生的编程能力、算法分析能力和数据处理能力,同时也可以增强学生对数据结构知识的理解和掌握。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数据结构课程设计题目1.飞机订票系统(限1 人完成)(顺序或链式存储)任务:通过此系统可以实现如下功能:录入:可以录入航班情况(数据可以存储在一个数据文件中,数据结构、具体数据自定)查询:可以查询某个航线的情况(如,输入航班号,查询起降时间,起飞抵达城市,航班票价,票价折扣,确定航班是否满仓);可以输入起飞抵达城市,查询飞机航班情况;订票:(订票情况可以存在一个数据文件中,结构自己设定)可以订票,如果该航班已经无票,可以提供相关可选择航班;退票:可退票,退票后修改相关数据文件;客户资料有姓名,证件号,订票数量及航班情况,订单要有编号。
修改航班信息:当航班信息改变可以修改航班数据文件要求:根据以上功能说明,设计航班信息,订票信息,客户信息的存储结构,设计程序完成功能;2.宿舍管理查询软件(限1 人完成)任务:为宿舍管理人员编写一个宿舍管理查询软件, 程序设计要求:采用交互工作方式建立数据文件,包括学生信息、宿舍信息、住宿信息,学生信息按关键字(姓名、学号)进行排序(排序方法自选,不能相同);查询: (用二分查找实现以下操作)按姓名查询按学号查询(用顺序查找实现以下操作)按房号查询3.校园导航问题(限1 人完成)设计要求:设计你的学校的平面图,至少包括10个以上的场所,每两个场所间可以有不同的路,且路长也可能不同,找出从任意场所到达另一场所的最佳路径(最短路径)。
要求:能增加场所4.图书借阅管理系统(限1 人完成)(顺序或链式存储)主要分为两大功能:1)图书管理(增加图书、查询图书、删除图书、图书借阅、还书);2)会员管理(增加会员、查询会员、删除会员、借书信息);5.学生成绩管理(限1 人完成)(顺序或链式存储)包括:课程信息,学生信息等;能增加课程或学生。
实现功能:输入、输出、插入、删除、查找、显示、保存、排序、退出。
6.活期储蓄帐目管理(限1 人完成)活期储蓄处理中,储户开户、销户、存入、支出活动频繁,系统设计要求:1)能比较迅速地找到储户的帐户,以实现存款、取款记账;2)能比较简单,迅速地实现插入和删除,以实现开户和销户的需要。
7.通讯录的制作(限1 人完成)设计目的:用〈〈数据结构〉〉中的双向链表作数据结构,编写一个通讯录管理系统。
以把所学数据结构知识应用到实际软件开发中去。
设计内容:本系统应完成一下几方面的功能:1)输入信息——enter();2)显示信息———display( );3)查找以姓名作为关键字———search( );4)删除信息———delete( );5)存盘———save ( );6)装入———load( ) ;7)排序---sort()设计要求:1)每条信息至少包含:姓名(NAME )街道(STREET)城市(CITY)邮编(EIP)国家(STATE)几项2)作为一个完整的系统,应具有友好的界面和较强的容错能力8.哈夫曼编码/译码器(限1 人完成)【问题描述】设计一个利用哈夫曼算法的编码和译码系统,重复地显示并处理以下项目,直到选择退出为止。
【基本要求】1)将权值数据存放在数据文件(文件名为data.txt,位于执行程序的当前目录中)2)初始化:键盘输入字符集大小n、n个字符和n个权值,建立哈夫曼树;3)编码:利用建好的哈夫曼树生成哈夫曼编码;4)输出编码;5)设字符集及频度如下表:字符空格 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 19.图书管理系统(限1 人完成)(顺序或链式存储)【问题描述】设计一个计算机管理系统完成图书管理基本业务。
【基本要求】1)每种书的登记内容包括书号、书名、著作者、现存量和库存量;2)对书号建立索引表(线性表)以提高查找效率;3)系统主要功能如下:*采编入库:新购一种书,确定书号后,登记到图书帐目表中,如果表中已有,则只将库存量增加;*借阅:如果一种书的现存量大于0,则借出一本,登记借阅者的书证号和归还期限,改变现存量;*归还:注销对借阅者的登记,改变该书的现存量。
*对借阅者信息的管理,增加、删除、查找等10.电话号码查找系统(限1 人完成)【问题描述】利用散列表设计与实现电话号码查找系统。
【基本要求】1)设每个记录有下列数据项:电话号码、用户名、地址;2)从键盘输入各记录,分别以电话号码和用户名为关键字建立散列表;3)采用一定的方法解决冲突;4)查找并显示给定电话号码的记录;查找并显示给定用户名的记录。
11.学生成绩管理系统(限1 人完成)现有学生成绩信息文件1(1.txt),内容如下姓名学号语文数学英语张明明 01 67 78 82李成友 02 78 91 88张辉灿 03 68 82 56王露 04 56 45 77陈东明 05 67 38 47…. .. .. .. …学生成绩信息文件2(2.txt),内容如下:姓名学号语文数学英语陈果 31 57 68 82李华明 32 88 90 68张明东 33 48 42 56李明国 34 50 45 87陈道亮 35 47 58 77…. .. .. .. …试编写一管理系统,要求如下:1)实现对两个文件数据进行合并,生成新文件3.txt2)抽取出三科成绩中有补考的学生并保存在一个新文件4.txt3)对合并后的文件 3.txt中的数据按总分降序排序(至少采用两种排序方法实现)4)输入一个学生姓名后,能查找到此学生的信息并输出结果(至少采用两种查找方法实现)5)要求使用结构体,链或数组等实现上述要求.12.图的遍历和生成树求解实现(限1 人完成)要求:1)先任意创建一个图;2)图的DFS,BFS的递归和非递归算法的实现3)最小生成树(两个算法)的实现4)要求用邻接矩阵、邻接表结构存储实现13.排序综合(限1 人完成)利用随机函数产生N个随机整数(20000以上),对这些数进行多种方法进行排序。
要求:1)至少采用7种方法实现上述问题求解(提示,可采用的方法有插入排序、希尔排序、起泡排序、快速排序、选择排序、堆排序、归并排序)。
并把排序后的结果保存在不同的文件中。
2)统计每一种排序方法的性能(以上机运行程序所花费的时间为准进行对比),找出其中两种较快的方法。
14.josephs环(限1 人完成)任务:编号是1,2,……,n的n个人按照顺时针方向围坐一圈,每个人只有一个密码(正整数)。
一开始任选一个正整数作为报数上限值m,从第一个仍开始顺时针方向自1开始顺序报数,报到m时停止报数。
报m的人出列,将他的密码作为新的m值,从他在顺时针方向的下一个人开始重新从1报数,如此下去,直到所有人全部出列为止。
设计一个程序来求出出列顺序。
要求:利用单向循环链表存储结构模拟此过程,按照出列的顺序输出各个人的编号。
测试数据:m的初值为20,n=7 ,7个人的密码依次为3,1,7,2,4,7,4,首先m=6,则正确的输出是什么?要求:输入数据:建立输入处理输入数据,输入m的初值,n ,输入每个人的密码,建立单循环链表。
输出形式:建立一个输出函数,将正确的输出序列15.HUFFMAN树及编码(限1 人完成)随机输入一篇英文文章(或读一个TXT文件),生成并显示HUFFMAN树,输出每个字母的HUFFMAN编码,判断ASCII编码与HUFFMAN编码对本篇报文长度节省效果。
16.拓扑排序(限1 人完成)[问题描述] 建立图的存储结构,能够输入图的顶点和边的信息,并存储到相应存储结构中,再编写函数实现图的拓扑排序。
[基本要求] 1)选择邻接表作为有向图的存储结构模拟整个过程,并输出拓扑排序的顶点序列。
2)给出逆向的拓扑有序序列。
[测试数据]利用下图中的数据调试程序17.简单的职工管理系统(限1 人完成)(顺序或链式存储)1.问题描述对单位的职工进行管理,包括插入、删除、查找、排序等功能。
2.要求职工对象包括姓名、性别、出生年月、工作年月、学历、职务、住址、电话等信息。
(1)新增一名职工:将新增职工对象按姓名以字典方式增加到职工管理文件中。
(2)删除一名职工:从职工管理文件中删除一名职工对象。
(3)查询:从职工管理文件中查询符合某些条件的职工。
(4)修改:检索某个职工对象,对其某些属性进行修改。
(5)排序:按某种需要对职工对象文件进行排序。
3.实现提示职工对象数不必很多,便于一次读入内存,所有操作不经过内外存交换。
(1)由键盘输入职工对象,以文件方式保存。
程序执行时先将文件读入内存。
(2)对职工对象中的"姓名"按字典顺序进行排序。
(3)对排序后的职工对象进行增、删、查询、修改等操作。
18.哈希表设计(限1 人完成)[问题描述]:针对自己的班集体中的“人名”设计一个哈希表,使得平均查找长度不超过R,完成相应的建表和查表程序。
[基本要求]:假设人名为中国姓名的汉语拼音形式。
待填入哈希表的人名共有30个,取平均查找长度的上限为2。
哈希函数用除留余数法构造,用链表法处理冲突。
[测试数据]:读取熟悉的30个人的姓名。
19.计算一元稀疏多项式(限1 人完成)要求完成如下功能:(1)输入并建立多项式——creatpolyn()(2)输出多项式,输出形式为整数序列,序列按指数升序排列——printpolyn()(3)多项式a和b相加,建立多项式a+b,输出相加的多项式——addpolyn()(4)多项式a和b相减,建立多项式a-b,输出相减的多项式——subpolyn()用带表头结点的单链表存储多项式。
测试数据:(1)(2x+5x8-3.1x11)+(7-5x8+11x9)(2) (6-3x+4.4x2-1.2x9)-(-6-3x+5.4x2+7.8x15)(3)(x+x2+x3)+0(4)(x+x3)-(-x-x-3)20.敢死队问题(限1 人完成)有M个敢死队员要炸掉敌人的一碉堡,谁都不想去,排长决定用轮回数数的办法来决定哪个战士去执行任务。
如果前一个战士没完成任务,则要再派一个战士上去。
现给每个战士编一个号,大家围坐成一圈,随便从某一个战士开始计数,当数到5时,对应的战士就去执行任务,且此战士不再参加下一轮计数。
如果此战士没完成任务,再从下一个战士开始数数,被数到第5时,此战士接着去执行任务。
以此类推,直到任务完成为止。
排长是不愿意去的,假设排长为1号,请你设计一程序,求出从第几号战士开始计数才能让排长最后一个留下来而不去执行任务。
要求:至少采用两种不同的数据结构的方法实现。
21.关键路径(限1 人完成)问题描述:设计一个程序求出完成整项工程至少需要多少时间以及整项工程中的关键活动。