数据结构与算法课设题目一1
数据结构与算法课程设计题目[范文大全]
![数据结构与算法课程设计题目[范文大全]](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

(IF A[i] A[j] THEN(fmax A[j]. fmin A[i]).
ELSE (fmax A[i]. fmin A[j]). RETURN). BS2. [取中值] mid (ij)/2 BS3. [递归调用]
BS (A, i, mid. gmax, gmin). BS (A, mid1, j. hmax,
IF (n≤1) THEN (flag←false. RETURN.) S2[初始化]
i←2. flag←true. S3[求余判断]
WHILE (i ≤ n div 2 ) DO (IF (n MOD i)=0 THEN (flag←false. RETURN.) i←i+1.) ▌
参考答案3
算法 S (n. flag) /*判断整数n是否为素数,将结果保存到变量flag*/ S1[n≤1?]
for(int k=1;k<=n;k++) for(int i=1;i<=n;i++) for(int j=1;j<=n;j++) ;
int t=1; while(t<n) t*=2;
int t=2; while(t<n) t*=t;
作业1-5
题目描述
试用ADL语言编写一个算法,判断任一整数 n 是否为素数
for(int i=1;i<=n;i++) for(int j=1;j<=n;j++) t=a[i][j],a[i][j]=a[j][i],a[j][i]=t;
for(int i=1;i<=n;i++) for(int j=i+1;j<=n;j++) a[j][i]=[i][j];
数据结构与算法课程设计题目

数据结构与算法课程设计一、课程设计的目的、要求和任务本课程设计是为了配合《数据结构与算法》课程的开设,通过设计完整的程序,使学生掌握数据结构的应用、算法的编写等基本方法。
1.课程的目的是:(1)使学生进一步理解和掌握课堂上所学各种基本抽象数据类型的逻辑结构、存储结构和操作实现算法,以及它们在程序中的使用方法。
(2)使学生掌握软件设计的基本内容和设计方法,并培养学生进行规范化软件设计的能力。
(3)使学生掌握使用各种计算机资料和有关参考资料,提高学生进行程序设计的基本能力;2.课程的基本要求与任务是:(1)巩固和加深对数据结构基本知识的理解,提高综合运用课程知识的能力。
(2)培养学生自学参考书籍,查阅手册、图表和文献资料的能力。
(3)通过实际课程设计,初步掌握简单软件的分析方法和设计方法。
(4)了解与课程有关的工程技术规范,能正确解释和分析实验结果。
(5)题目具有足够的工作量。
二、课程设计的一般步骤:(1)划分课程设计小组:由不超过5名同学自由组成一个课程设计小组,设组长一名。
(2)选题与搜集资料:每个课程设计小组在参考选题中至少选择3道课题,并保证线性表、栈、队列与递归算法设计和树、图及其应用均有一道;(3)分析与概要设计:根据搜集的资料,进行程序功能与数据结构分析,并选择合适的数据结构、并在此基础上进行实现程序功能的算法设计。
(3)程序设计:运用掌握C++/Java/C#语言编写程序,实现所程序的各个模块功能。
(4)调试与测试:调试程序,并记录测试情况。
(5)完成课程设计报告。
(6)验收与评分:指导教师对每个同学的开发的系统进行综合验收。
三、课程设计报告的规范课程设计报告(3000字以上,每个题目1000字以上)要求规范书写,应当包括如下8个部分:(1)问题描述:描述要求编程解决的问题。
(2)基本要求:给出程序要达到的具体的要求。
(3)算法思想:描述解决相应问题算法的设计思想。
(4)模块划分:描述所设计程序的各个模块(即函数)功能。
数据结构与算法课设题目一

2018年秋季学期,数据结构与算法课程设计题目1.扫雷问题。
有些个人计算机会带有一个名为Minesweeper的游戏。
该游戏界面是一个网格,网格中的有些方块是雷。
编写一个程序以读取文件,该文件中存放着网格中的行数、列数以及网格本身。
网格会含有一些标记为o的方块,这些就是雷。
其他方块不是雷,将会标记上问号<?)。
程序的输出就是输出这个网格。
雷依然会标记成o,而那些不含雷的方块会替换成一个数字,以表明邻近雷的个数。
最大数字将是8。
<4)例如:1 5 52?o 2 2o2113o??o? 3 o33o24??o?o 4 34o4o5oo?o? 5 oo4o26?o 6 3o311求素数问题。
埃拉托色尼筛法<Sieve of Eratosthenes)是一种用来求所有小于N的素数的方法。
从建立一个整数2~N的表着手,寻找i˂的整数,编程实现此算法,并讨论运算时间。
<1)方程求解问题。
方程A5+B5+C5+D5+E5=F5刚好有一个满足0≤A≤B≤C≤D≤E≤F≤75的整数解。
请编写一个求出该解的程序。
<3)最短字符串问题。
编写一个程序,从输入中读取字符串,并按长度顺序,最短字符串优先的原则输出它们。
如果有若干字符串具有相同的长度,就按字母顺序输出它们。
<3)5.计算1的个数问题。
编写递归程序,返回十进制数N的二进制表示中1的个数。
<2)排序重构问题。
令A为一个由N个已特殊排序数组成的数列:A1,A2,…,A N ,其中A1=0。
令B为N<N-1)/2个数<定义为Bij=Ai-Aj(i>j>)组成的数列。
例如,A=0,1,5,8,那么D=1,3,4,5,7,8。
请完成:a)编写程序,根据A构造D;b)编写程序,构造与D相对应的某一个数列A,注意A不是唯一的。
<4)占用网格计算问题。
考虑一个N*N的网格,其中某些方格已被占用。
如果两个方格共用公共的边,就说它们属于同一个组,如图示,一组为4个被占用的方格,3组为两个被占用的方格,2个方格被单独占用。
《数据结构》课程设计题目

《数据结构》课程设计题目《数据结构》课程设计题目课程设计题一:学生成绩管理系统设计目的:1.2.3. 掌握线性链表的建立。
掌握线性链表的基本操作。
掌握查找的基本算法。
设计内容:利用线性链表实现学生成绩管理系统,具体功能:输入、输出、插入、删除、查找、追加、读入、显示、保存、拷贝、排序、索引、分类合计、退出,并能在屏幕上输出操作前后的结果。
设计要求:1.2.3.写出系统需求分析,并建模。
编程实现,界面友好。
输出操作前后的结果。
课程设计题二:停车场管理系统设计目的:1.2.3.4. 掌握栈和队列的建立。
掌握栈和队列的基本操作。
深入了解栈和队列的特性,以便在解决实际问题中灵活运用它们。
加深对栈和队列的理解和认识。
设计内容:设有一个可以停放n辆汽车的狭长停车场,它只有一个大门可以供车辆进出。
车辆按到达停车场时间的早晚依次从停车场最里面向大门口处停放(最先到达的第一辆车放在停车场的最里面)。
如果停车场已放满n辆车,则后来的车辆只能在停车场大门外的便道上等待,一旦停车场内有车开走,则排在便道上的第一辆车就进入停车场。
停车场内如有某辆车要开走,在他之后进入停车场的车都必须先退出停车场为它让路,待其开出停车场后,这些车辆在依原来的次序进场。
每辆车在离开停车场时,都应依据它在停车场内停留的时间长短交费。
如果停留在便道上的车未进停车场就要离去,允许其离去,不收停车费,并且仍然保持在便道上等待的车辆的次序。
编制一程序模拟该停车场的管理。
设计要求:1. 以栈模拟停车场,以队列模拟车场外的便道,按照从终端读入的输入数据序列进行模拟管理。
2. 每一组输入数据包括三个数据项:汽车“到达”或“离去”信息、汽车牌照号码以及到达或离去的时刻。
3. 对每一组输入数据进行操作后的输出信息为:若是车辆到达,则输出汽车在停车场或便道上的停车位置;若是车辆离去,则输出汽车在停车场内停留的时间和应交纳的费用(在便道上停留的时间不收费,功能可自己添加)。
数据结构与算法 试题及答案

数据结构与算法试题及答案数据结构与算法试题及答案在计算机科学领域,数据结构与算法是非常重要的基础知识。
数据结构是一种组织和存储数据的方式,而算法则是解决问题的方法和步骤。
掌握好数据结构与算法,有助于提高程序的运行效率和解决实际问题。
下面是一些关于数据结构与算法的试题及其答案,希望能够帮助大家更好地理解和应用这方面的知识。
试题一:什么是数据结构?请举例说明。
答案一:数据结构是一种组织和存储数据的方式。
它可以使数据的操作更加高效。
常见的数据结构有数组、链表、栈、队列、树和图等。
举个例子,数组是一种线性数据结构,可以存储一组相同类型的元素。
试题二:什么是算法?请举例说明。
答案二:算法是一种解决问题的方法和步骤。
它是一个精确的描述,用于解决特定问题。
常见的算法有排序算法、查找算法、递归算法等。
例如,冒泡排序算法是一种比较简单的排序算法,通过不断交换相邻元素的位置来达到排序的目的。
试题三:什么是时间复杂度和空间复杂度?答案三:时间复杂度和空间复杂度是衡量算法性能的两个指标。
时间复杂度是指算法执行所需要的时间,通常用大O符号表示。
空间复杂度是指算法执行所需要的额外空间,通常也用大O符号表示。
它们都是描述算法随着输入规模增大而变化的趋势。
试题四:介绍一下常见的数据结构和相应的操作。
答案四:常见的数据结构有数组、链表、栈、队列、树和图等。
- 数组是一种线性数据结构,可以随机访问元素,并且在插入和删除元素时需要移动其他元素。
- 链表是一种动态数据结构,不需要固定的内存空间,但只能通过指针进行元素的访问。
- 栈是一种后进先出(LIFO)的数据结构,只能在栈顶进行插入和删除元素的操作。
- 队列是一种先进先出(FIFO)的数据结构,只能在队尾插入元素,在队头删除元素。
- 树是一种非线性数据结构,由节点和指向子节点的边组成。
常见的树有二叉树、二叉搜索树和AVL树等。
- 图是一种复杂的数据结构,由节点和边组成,可以表示各种关系。
数据结构与算法测试题+参考答案

数据结构与算法测试题+参考答案一、单选题(共80题,每题1分,共80分)1、某线性表中最常用的操作是在最后一个元素之后插入一个元素和删除第一个元素,则采用什么存储方式最节省运算时间?A、仅有头指针的单循环链表B、双链表C、仅有尾指针的单循环链表D、单链表正确答案:C2、数据结构研究的内容是()。
A、数据的逻辑结构B、数据的存储结构C、建立在相应逻辑结构和存储结构上的算法D、包括以上三个方面正确答案:D3、下列关于无向连通图特征的叙述中,正确的是:所有顶点的度之和为偶数边数大于顶点个数减1至少有一个顶点的度为1A、只有1B、1和2C、1和3D、只有2正确答案:A4、下面的程序段违反了算法的()原则。
void sam(){ int n=2;while (n%2==0) n+=2;printf(“%d”,n);}A、确定性B、可行性C、有穷性D、健壮性正确答案:C5、对任意给定的含 n (n>2) 个字符的有限集 S,用二叉树表示 S 的哈夫曼编码集和定长编码集,分别得到二叉树 T1 和 T2。
下列叙述中,正确的是:A、出现频次不同的字符在 T2 中处于相同的层B、出现频次不同的字符在 T1 中处于不同的层C、T1 的高度大于 T2 的高度D、T1 与 T2 的结点数相同正确答案:A6、数据序列{ 3,2,4,9,8,11,6,20 }只能是下列哪种排序算法的两趟排序结果?A、快速排序B、选择排序C、插入排序D、冒泡排序正确答案:A7、设散列表的地址区间为[0,16],散列函数为H(Key)=Key%17。
采用线性探测法处理冲突,并将关键字序列{ 26,25,72,38,8,18,59 }依次存储到散列表中。
元素59存放在散列表中的地址是:A、11B、9C、10D、8正确答案:A8、采用递归方式对顺序表进行快速排序,下列关于递归次数的叙述中,正确的是:A、每次划分后,先处理较短的分区可以减少递归次数B、递归次数与每次划分后得到的分区处理顺序无关C、递归次数与初始数据的排列次序无关D、每次划分后,先处理较长的分区可以减少递归次数正确答案:B9、以下数据结构中,()是非线性数据结构。
数据结构课程设计题目表

数据结构课程设计题目表《数据结构》课程设计课题表课题1:设计出链表结构的相关函数库,以便在程序设计中调用。
要求:(1)包括线性表的各种基本函数以及常用函数(自己确定函数、函数形式及理由)。
(2)最好能借助语言环境实现图形显示功能,以便能将抽象的数据结构以图形方式显示出来,将复杂的运行过程以动态方式显示出来。
(3)给出若干例程,演示通过调用自己的库函数来实现相关问题的求解。
课题2:设计出顺序表结构的相关函数库,以便在程序设计中调用。
要求:(1)包括线性表的各种基本函数以及常用函数(自己确定函数、函数形式及理由)。
(2)最好能借助语言环境实现图形显示功能,以便能将抽象的数据结构以图形方式显示出来,将复杂的运行过程以动态方式显示出来。
(3)给出若干例程,演示通过调用自己的库函数来实现相关问题的求解。
课题3:设计程序以实现任意两个高次多项式的加法和乘法运算。
要求:(1)所设计的数据结构应尽可能节省存储空间。
(2)程序的运行时间应尽可能少。
课题4:设计一个模拟计算器的程序,要求能对包含加、减、乘、除、括号运算符及SQR和ABS函数的任意整型表达式进行求解。
要求:要检查有关运算的条件,并对错误的条件产生报警。
课题5:设计出二叉链表结构的相关函数库,以便在程序设计中调用。
要求:(1)包括二叉树的各种基本函数以及常用函数(自己确定函数、函数形式及理由)。
(2)最好能借助语言环境实现图形显示功能,以便能将抽象的数据结构以图形方式显示出来,将复杂的运行过程以动态方式显示出来。
(3)给出若干例程,演示通过调用自己的库函数来实现相关问题的求解。
课题6:设计出树结构的相关函数库,以便在程序设计中调用。
要求:(1)包括树结构的存储结构及各种基本函数以及常用函数(自己确定函数、函数形式及理由)。
(2)最好能借助语言环境实现图形显示功能,以便能将抽象的数据结构以图形方式显示出来,将复杂的运行过程以动态方式显示出来。
(3)给出若干例程,演示通过调用自己的库函数来实现相关问题的求解。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2013年秋季学期,数据结构与算法课程设计题目1.扫雷问题。
有些个人计算机会带有一个名为Minesweeper的游戏。
该游戏界面是一个网格,网格中的有些方块是雷。
编写一个程序以读取文件,该文件中存放着网格中的行数、列数以及网格本身。
网格会含有一些标记为o的方块,这些就是雷。
其他方块不是雷,将会标记上问号(?)。
程序的输出就是输出这个网格。
雷依然会标记成o,而那些不含雷的方块会替换成一个数字,以表明邻近雷的个数。
最大数字将是8。
(4)例如:15 52?o??? 2 2o2113o??o? 3 o33o24??o?o 4 34o4o5oo?o? 5 oo4o26?o??? 6 3o3112.求素数问题。
埃拉托色尼筛法(Sieve of Eratosthenes)是一种用来求所有小于N的素数的方法。
从建立一个整数2~N的表着手,寻找i˂的整数,编程实现此算法,并讨论运算时间。
(1)3.方程求解问题。
方程A5+B5+C5+D5+E5=F5刚好有一个满足0≤A≤B≤C≤D≤E≤F≤75的整数解。
请编写一个求出该解的程序。
(3)4.最短字符串问题。
编写一个程序,从输入中读取字符串,并按长度顺序,最短字符串优先的原则输出它们。
如果有若干字符串具有相同的长度,就按字母顺序输出它们。
(3)5.计算1的个数问题。
编写递归程序,返回十进制数N的二进制表示中1的个数。
(2)6.排序重构问题。
令A为一个由N个已特殊排序数组成的数列:A1,A2,…,AN,其中A1=0。
令B为N(N-1)/2个数(定义为Bij=Ai-Aj(i>j))组成的数列。
例如,A=0,1,5,8,那么D=1,3,4,5,7,8。
请完成:a)编写程序,根据A构造D;b)编写程序,构造与D相对应的某一个数列A,注意A不是唯一的。
(4)7.占用网格计算问题。
考虑一个N*N的网格,其中某些方格已被占用。
如果两个方格共用公共的边,就说它们属于同一个组,如图示,一组为4个被占用的方格,3组为两个被占用的方格,2个方格被单独占用。
假设格子用二维数组来表示。
请编写实现下列目的程序:1)给定组中的某个方格,计算组的大小;2)计算不同组的数目;3)列出所有的组。
(4)8.递归替换问题。
编写程序,扩展C/C++源文件中的#include指令(以递归的方式)。
请以文件名的内容替换形如下面的代码行。
#include “filename”(3)9.数据删除问题。
编写删除具有N个数据项的数组A中所有重复项的程序,返回A中仍有的数据项。
要求运行时间在O(NlogN)。
(2)10.随机走步问题。
以下在x-y坐标系上进行的游戏属于二维的随机行走。
从原点(0,0)开始,每次迭代都是由向左、向上、向右和向下一个单位的随机步构成。
当行走者返回原始点时,行走结束。
在二维世界这种情况发生的概率为1,而在三维世界概率小于1。
请编写一个进行100次独立随机行走程序,并计算每个方向的步数的平均数。
(4)11.表达式转换问题。
请编写一个读取中缀表达式并生成后缀表达式的程序。
(2)12.表达式转换问题。
请编写一个读取后缀表达式并生成中缀表达式的程序。
(2)13.课程选修问题。
学生需要修一定数量的课程才能毕业,而这些课程会有一些必须遵循的选修顺序。
假设每个学期都开所有课程,并且学生所修课程数量不限制。
给出课程和先修课程的列表,求出一个满足最小学期数要求的时间表。
以你的专业情况为背景设计。
(3)14.通过单字符置换可以将一个单词改为另一个单词。
假设存在一个5字母单词的字典。
给出一个算法确定单词A是否可以通过一系列的单字符置换转换为单词B,并且如果可以的话,输出相应的单词序列。
例如,bleed通过序列bleed、blend、blond、blood转换为blood。
(4)15.编写一个以行为单位的文本编辑器。
内部文件的副本被保存成由各个行组成的链表。
为了能在文件中上移或下移,必须维护一个双链表。
大部分命令使用只有一个字符的字符串表示。
有些是两个字符,并且要求一个参数(或者两个)。
(6)表一,所支持的命令行16.跳马问题。
要求在64个国际象棋格子,任意位置放一个马,如何不重复地把格子走完。
(3)17.八皇后问题。
要求编写程序实现将八个皇后放置在国际象棋棋盘的无冲突的位置上的算法,并给出所有的解。
提示:在国际象棋上放置皇后时,任何一个皇后的水平、竖直和斜45º都不能有另一个皇后。
解决该问题采用逐次试探的方法,即采用递归调用putchess函数的方法。
首先将第一个皇后放于第一行第一列,然后开始向下一行递归。
每一步递归中,首先检测待放置位置是否与已放置的皇后冲突,如不冲突,则进行下一行的放置,否则,选择该行的下一个位置进行检测。
如整行的位置都冲突,则回到上一行,重新选择位置。
(2)18.猴子吃桃子问题。
有一群猴子摘了一堆桃子,他们每天都吃当前桃子的一半且再多吃一个,到了第10天就只余下一个桃子。
用多种方法实现求出原来这群猴子共摘了多少个桃子。
要求:1)采用数组数据结构实现上述求解;2)采用链式数据结构实现上述求解;3)采用递归实现上述求解。
(2)19.病人就医管理模拟问题。
编写一个程序定义行医类,反映病人到医院看病,排队看医生的情况,在病人排队过程中,主要发生两件事:(1)病人到达诊室,将病历本交给护士,排到等待队列中候诊。
(2)护士从等待队列中取出一位病人的病历,该病人进入诊室就诊。
要求程序采用菜单方式,其选项及功能说明如下:(1)排队------输入病人的病历号,加入到病人排队队列中(2)就诊-------病人排队队列中最前面的病人就诊,并将其从队列中删除。
(3)查看排队------从队首到队尾列出所有的排队病人的病历号。
(4)下班---------退出运行。
(5)20.图的基本操作与实现。
(1)自选存储结构,输入含n个顶点(用字符表示顶点)和e条边的图G;(2)求每个顶点的度,输出结果;(3)指定任意顶点x为初始顶点,对图G作DFS遍历,输出DFS顶点序列(提示:使用一个栈实现DFS);(4)指定任意顶点x为初始顶点,对图G作BFS遍历,输出BFS顶点序列(提示:使用一个队列实现BFS);(5)输入顶点x,查找图G:若存在含x的顶点,则删除该结点及与之相关连的边,并作DFS遍历(执行操作3);否则输出信息“无x”;(6)判断图G是否是连通图,输出信息“YES”/“NO”;(7)如果选用的存储结构是邻接矩阵,则用邻接矩阵的信息生成图G的邻接表,即复制图G,然再执行操作(2);反之亦然。
(4)21.散列表的设计与实现。
设计散列表实现电话号码查找系统。
基本要求:(2)(1)设每个记录有下列数据项:电话号码、用户名、地址;(2) 从键盘输入各记录,分别以电话号码和用户名为关键字建立散列表;(3)采用双散列法解决冲突;(4)查找并显示给定电话号码的记录;(5) 查找并显示给定用户名的记录。
较高要求:(3)(1)系统功能的完善;(2)设计不同的散列函数,比较冲突率;(3)在散列函数确定的前提下,尝试各种不同类型处理冲突的方法,考察平均查找长度的变化。
22.队列实现的仿真技术预测理发馆的经营状况。
(5)问题描述:理发馆一天的工作过程如下:1) 理发馆有N把理发椅,可同时为N位顾客进行理发。
2) 理发师分三个等级(一级、二级、三级),对应不同的服务收费。
3) 当顾客进门时,需选择某级别理发师,只要该级别的理发师有空椅,则可立即坐下理发,否则需排队等候。
4) 一旦该级别的理发师有顾客理发完离去,排在队头的顾客便可开始理发。
5) 若理发馆每天连续营业T分钟,求:(1)一天内顾客在理发馆内的平均逗留时间;(2)顾客排队等候理发的队列长度平均值;(3)营业时间到点后仍需完成服务的收尾工作时间;(4)统计每天的营业额;(5)统计每天不同级别理发师的创收。
23.救护车调度模拟系统。
问题描述:设计实现一个用事件驱动的“救护车调度”离散模型,模拟120急救中心响应每个病人的呼救信号统一调度救护车运行的情况。
(5)对问题作适当简化,假设:某城市共有m个可能的呼救点(居民小区、工厂、学校、公司、机关、单位等),分布着n所医院(包含在m个点中),有k辆救护车分派在各医院待命,出现呼救病人时,由急救中心统一指派救护车接送至最近的医院救治。
救护车完成一次接送任务后即消毒,并回原处继续待命。
假定呼救者与急救中心、急救中心与救护车之间的通讯畅通无阻,也不考虑道路交通堵塞的影响。
可以用m个顶点的无向网来表示该城市的各地点和道路。
时间可以分钟为单位,路段长可表示为救护车行驶化费的分钟数。
24.稀疏矩阵的操作。
基本要求(4):定义稀疏矩阵的数据类型描述(三元组表),完成稀疏矩阵的加、减、乘和转置运算. 要求:1) 界面友好,函数功能要划分好;2) 总体设计应画流程图;3) 程序要加必要的注释;4) 要提供程序测试方案;25. 构造可以使n个城市连接的最小生成树。
问题描述:给定一个地区的n个城市间的距离网,用Prim算法或Kruskal算法建立最小生成树,并计算得到的最小生成树的代价。
(4)要求:1)城市间的距离网采用邻接矩阵表示,邻接矩阵的存储结构定义采用课本中给出的定义,若两个城市之间不存在道路,则将相应边的权值设为自己定义的无穷大值.要求在屏幕上显示得到的最小生成树中包括了哪些城市间的道路,并显示得到的最小生成树的代价。
2)表示城市间距离网的邻接矩阵(要求至少6个城市,10条边);3)最小生成树中包括的边及其权值,并显示得到的最小生成树的代价。
26. 长整数运算问题。
设计程序,实现两个任意长的整数的加、减、乘运算问题。
(4)27. 哈夫曼码的编/译码系统。
编写一个哈夫曼码的编/译码系统,实现对输入的文本信息自动统计并依此为依据建立一个哈夫曼码的编/译码系统。
(2)28. 集合运算问题。
设计一个程序,实现两个集合的并集、交集、差集、显示输出等,要求结果集合中的元素不重复;实现一个集合的幂集的求解。
(1)29. 排序算法比较问题。
设计各类排序算法的程序,通过随机的数据测试,比较各算法的关键字比较次数和关键字移动次数。
(2)30. 约瑟夫(Joeph)问题。
一种描述是:编号为1,2,…,n的n个人按顺时针方向围坐一圈,每人持有一个密码(正整数)。
一开始任选一个正整数作为报数上限值m,从第一个人开始按顺时针方向自1开始顺序报数,报到m时停止报数。
报m的人出列,将他的密码作为新的m值,从他在顺时针方向上的下一个人开始重新从1报数,如此下去,直至所有人全部出列为止。
试设计一个程序求出出列顺序。
(2)。