《沈阳理工大学数据结构课程设计50题》

合集下载

沈阳理工大学C语言课程设计DOC

沈阳理工大学C语言课程设计DOC

一、题目要求题目名称:数字的组成及删除指定位置的字符,工资统计的设计内容:1、编程:用0—9之间不同的三个数字构成一个三位数,统计有多少个这样的三位数。

2、规定输出的字符串中只能包含字母和*号,编写函数fun(char*a,int n),其功能是:是字符串前边连续的*号不多于n个;若多于n个,则删除多于的*号,若小于或等于n个,则什么也不做。

例如:若输入字符串为******A*BC*DEF*G***,n的值为4,则删除后的字符串应是:****A*BC*DEF*G***3、工资统计程序设计设计结构体数组,结构中包含职工数据为:编号、姓名、部门、应付工资、保险、税金、实付工资。

其中实付工资有公式计算得到:实付工资=应付工资-保险-税金设计各个函数,分别实现以下功能:(4)输入职工数据,其中“实付工资”通过计算得到(5)显示全部职工数据(6)输入其部门值、显示该部门职工的数据,工资总额,平均工资设计菜单,通过选择菜单调用以上函数。

要求:使用C语言完成上述程序的设计、编程和调试,开发环境可采用Turbo C 2.0、WinTC或Visual C++ 6.0等。

3、3、工资统计程序设计设计结构体数组,结构中包含职工数据为:编号、姓名、部门、应付工资、保险、税金、实付工资。

其中实付工资有公式计算得到:实付工资=应付工资-保险-税金设计各个函数,分别实现以下功能:(7)输入职工数据,其中“实付工资”通过计算得到(8)显示全部职工数据(9)输入其部门值、显示该部门职工的数据,工资总额,平均工资设计菜单,通过选择菜单调用以上函数。

1、每个函数的功能:(1)void input();录入:输入职工数据,其中"实付工资"通过计算得到(2)void del();)删除:删除指定的职工信息(输入姓名,若找到则删除该信息(3)void mod();修改:允许对已经录入的数据重新进行编辑、修改(4)void show_all();显示:显示全体职工数据;(5)void show_name();查询:a. 输入职工姓名,显示该职工的全部数据b. 输入某部门值,显示该部门职工的数据、工资总额、平均工资。

数据结构课程设计(0903050403) 翟小双

数据结构课程设计(0903050403) 翟小双

目录1题目内容及设计要求 (1)2总体设计 (1)3详细设计 (2)4程序清单及注释 (5)5测试数据,运行结果 (9)6遇到问题及解决方案 (13)7参考文献 (13)1题目内容及设计要求内容及要求:处理器中有一就绪队列,若干个进程依到达的时刻依次进入就绪队列,每个进程有进程名和处理器处理此进程的服务时间,从第一个进程进入就绪队列时刻起,处理器开始用一固定的时间片执行就绪队列中的进程,当执行的时间片用完后,若此进程并未执行完,则将它送就绪队列的末尾,取出下一个进程执行。

计算各个进程完成的时刻。

2 总体设计总体功能框图如图2-1所示:图2-1总体功能框图3详细设计主要算法流程图如图3-1所示:图3-1 主要流程图在队尾插入元素函数流程图如图3—2所示:图3—2 队尾插入元素函数流程图队头删除元素函数如3-3所示:图3-3 队头删除元素函数流程图4程序清单及注释#include<stdio.h>#include<stdlib.h>#include<malloc.h>#include<string.h>#define OVERFLOW 0#define ERROR -1#define OK 1typedef struct QNode{char name[10];int time;struct QNode *next;}QNode,*QueuePtr;typedef struct{QueuePtr front;QueuePtr rear;}node,*LinkQueue;void InitQueue(LinkQueue Q)//建立空对列{int n=0;Q->front=Q->rear=(QueuePtr )malloc(sizeof(QNode));if(!Q->front)exit(OVERFLOW);Q->front->next=NULL;}void EnQueue(LinkQueue Q,int t, char *na)//队尾插入{QueuePtr p;p=(QueuePtr)malloc(sizeof(QNode));if(!p)exit(OVERFLOW);p->time=t;strcpy(p->name,na);p->next=NULL;Q->rear->next=p;Q->rear=p;}int DeQueue(LinkQueue Q,int *t,char*na)//队头删除{QueuePtr p;if(Q->front==Q->rear)return ERROR;p=Q->front->next;*t=p->time;strcpy(na,p->name);Q->front->next=p->next;if(Q->rear==p)Q->rear=Q->front;free(p);return OK;}int main(){printf("\t \n");printf("\t ╭══════════════════╮\n");printf("\t ║║\n");printf("\t ║■■■■■■■■■■■■■■■■║\n");printf("\t ║******************************** ║\n");printf("\t ║* ┏━━━━━━━━┓* ║\n");printf("\t╭══════┤*★★┃进程处理模拟系统┃★★* ├══════╮\n");printf("\t║★=======☆║* ┗━━━━━━━━┛* ║☆=======★║\n");printf("\t║║* ☆翟小双0903050403 ☆* ║║\n");printf("\t║☆║******************************** ║☆║\n");printf("\t║║■■■■■■■■■■■■■■■■║║\n");printf("\t║║║║\n");printf("\t║★╰══════════════════╯★║\n");printf("\t║║\n");printf("\t╰════════════════════════════════╯\n");printf("\t \n");printf("\t \n");LinkQueue Q;QueuePtr p;Q= (LinkQueue)malloc(sizeof(node));int t,t1,n;int hour;int minute;char name[10];InitQueue(Q);printf("\t* * * * * * * * * * * * * * * * * * * * * * * * * * \n");printf("\n");printf("\t请输入时间片长度:");scanf("%d",&t);printf("\n");printf("\t* * * * * * * * * * * * * * * * * * * * * * * * * * \n"); printf("\n");printf("\t请输入第一个进程进入的时刻:");scanf("%d:%d",&hour,&minute);printf("\n");printf("\t* * * * * * * * * * * * * * * * * * * * * * * * * * \n"); printf("\n");printf("\t请输入就绪队列中进程个数:");scanf("%d",&n);printf("\n");printf("\t* * * * * * * * * * * * * * * * * * * * * * * * * * \n"); printf("\n");for(int i=1;i<n+1;i++){printf("\t请输入第%d个进程的服务时间:",i);scanf("%d",&t1);printf("\t请输入第%d个进程的名称:",i);scanf("%s",name);printf("\n");printf("\t* * * * * * * * * * * * * * * * * * * * * * * * * * \n");printf("\n");EnQueue(Q,t1,name);}while(Q->front!=Q->rear){p = Q->front->next;if(p->time>t){minute+=t;while(minute>=60){minute-=60;hour+=1;while(hour>=24)hour-=24;}if(p==Q->rear){p->time=p->time-t;minute+=p->time;while(minute>=60){minute-=60;hour+=1;while(hour>=24)hour-=24;}DeQueue(Q,&t1,name);printf("\t%s进程在%d:%d结束\n",name,hour,minute);printf("\n");printf("\t* * * * * * * * * * * * * * * * * * * * * * * * * * \n");printf("\n");}else{p->time=p->time-t;DeQueue(Q,&t1,name);printf("\t%s进程没有处理完,移到队尾\n",name);printf("\n");printf("\t* * * * * * * * * * * * * * * * * * * * * * * * * * \n");printf("\n");EnQueue(Q,t1,name);}}else{minute+=p->time;while(minute>=60){minute-=60;hour+=1;while(hour>=24)hour-=24;}DeQueue(Q,&t1,name);printf("\t%s进程在%d :%d结束\n",name,hour,minute);printf("\n");printf("\t* * * * * * * * * * * * * * * * * * * * * * * * * * \n");printf("\n");}}return 0;}5 测试数据,运行结果欢迎界面如图5-1所示:图5-1 欢迎界面输入处理器中固定时间片长度,用于和后面的每个进程的服务时间进行比较是否执行完毕。

数据结构课程设计题目(最终版)

数据结构课程设计题目(最终版)

数据结构课程设计题目(最终版)数据结构课程设计题目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。

北理网上作业数据结构及算法

北理网上作业数据结构及算法

3
×
从未排序序列中依次取出一个元素与已排序序列中的元素依
次进行比较,然后将其放在已排序序列的合适位置,该排序方 单选题 10.0
1
×
法称为( )排序法。
下列排序中,某一趟结束后未必能选出一个元素放在其最终位
单选题 10.0
1
×
置上的是( )。
当两个元素比较出现反序时就相互交换位置的排序方法称为
单选题 10.0
×
设有 50 行 60 列的二维数组 A[50][60],其元素长
度为 4 字节,按行优先顺序存储,基地址为 200, 单选题 10.0 4
×
则元素 A[18][25]的存储地址为( )。
关键路径是指 AOE(Activity On Edge)网中
单选题 10.0 3
×
( )。
一棵高度(假定树根结点为第 0 层)为 4 的完全二
单选题 10.0 3
×
GetHead(GetHead(GetTail(B)))=( )。
若已知一棵二叉树先序序列为 ABCDEFG,中序序列
单选题 10.0 1
×
为 CBDAEGF,则其后序序列为(
)。
如果结点 a 有三个兄弟,而且 b 为 a 的双亲,则 b
单选题 10.0 2
×
的度为(
)。
具有 n 个顶点的有向完全图有( )条弧。 单选题 10.0 2
学习数据结构主要目的是(
)。
单选题 10.0
3
A 算法的时间复杂度为 O(n3),B 算法的时间复杂度为 O(2n),
单选题 10.0
2
则说明(
)。
若某线性表最常用的操作是在最后一个结点之后插入一个结

2022年沈阳工学院计算机科学与技术专业《数据结构与算法》科目期末试卷A(有答案)

2022年沈阳工学院计算机科学与技术专业《数据结构与算法》科目期末试卷A(有答案)

2022年沈阳工学院计算机科学与技术专业《数据结构与算法》科目期末试卷A(有答案)一、选择题1、从未排序序列中依次取出一个元素与已排序序列中的元素依次进行比较,然后将其放在已排序序列的合适位置,该排序方法称为()排序法。

A.插入B.选择C.希尔D.二路归并2、哈希文件使用哈希函数将记录的关键字值计算转化为记录的存放地址,因为哈希函数是一对一的关系,则选择好的()方法是哈希文件的关键。

A.哈希函数B.除余法中的质数C.冲突处理D.哈希函数和冲突处理3、单链表中,增加一个头结点是为了()。

A.使单链表至少有一个结点B.标识表结点中首结点的位置C.方便运算的实现D.说明单链表是线性表的链式存储4、循环队列A[0..m-1]存放其元素值,用front和rear分别表示队头和队尾,则当前队列中的元素数是()。

A.(rear-front+m)%mB.rear-front+1C.rear-front-1D.rear-front5、已知有向图G=(V,E),其中V={V1,V2,V3,V4,V5,V6,V7}, E={<V1,V2>,<V1,V3>,<V1,V4>,<V2,V5>,<V3,V5>, <V3,V6>,<V4,V6>,<V5,V7>,<V6,V7>},G的拓扑序列是()。

A.V1,V3,V4,V6,V2,V5,V7B.V1,V3,V2,V6,V4,V5,V7C.V1,V3,V5,V2,V6,V7D.V1,V2,V5,V3,V4,V6,V76、循环队列放在一维数组A中,end1指向队头元素,end2指向队尾元素的后一个位置。

假设队列两端均可进行入队和出队操作,队列中最多能容纳M-1个元素。

初始时为空,下列判断队空和队满的条件中,正确的是()。

A.队空:end1==end2;队满:end1==(end2+1)mod MB.队空:end1==end2;队满:end2==(end1+1)mod (M-1)C.队空:end2==(end1+1)mod M;队满:end1==(end2+1) mod MD.队空:end1==(end2+1)mod M;队满:end2==(end1+1) mod (M-1)7、若元素a,b,c,d,e,f依次进栈,允许进栈、退栈操作交替进行,但不允许连续三次进行退栈操作,则不可能得到的出栈序列是()。

《数据结构课程设计》指导书

《数据结构课程设计》指导书

《数据结构》课程设计指导书沈阳理工大学.信息学院2013.11.1一.目的与意义软件设计能力对计算机专业的学生是很重要。

通过数据结构的学习,使学生对软件编程能力有一定的提高。

数据结构课程设计是锻炼学生在进一步掌握模块化、结构化程序设计的方法的同时,培养学生运用已学知识分析问题、解决问题及编写实用程序的能力,通过对线性化、层次化、网络化数据结构的了解进一步掌握自然数据的结构方式及组织方式,让学生深入体会存储在计算机中的数据及程序中如何运用数据实现编程。

主要目的如下:1.通过本课程设计使学生对面向对象的设计过程有初的认识,并对面向对象的高能语言的学习打下基础,2.通过不同类型的程序设计使学生进一步掌握数据的几种不同的组织和存储方式,为高级编程做准备,3.为专业课的深入学习和毕业设计打基础二.任务和要求分析每一组题目,按要求完成相应的题目:1.题目参照附录中《数据结构课程设计》题目选题。

2. 要求:1)对相应的题目进行算法设计2)编写源代码3)上机调试4)显示调试结果5)写出实验总结3.课程设计说明书设计完成后,将自己选定的题目按上述要求完成课程设计说明书。

课程设计说明书内容包含:题目、要求、初步设计(可以是流程图、功能模块图)、详细设计、程序代码、测试数据、运行结果、遇到的问题及总结几部分。

三.进度安排设计总学时为2周第一周:查阅资料、小组讨论、进行模块划分写出分析报告,画N-S结构化框图,编写程序清单,上机调试.第二周周四、五:验收(计算机机房),并将课程设计报告交上来.四.考核标准与成绩评定方式成绩评定有如下几项参考:1.初步设计内容的考核:是否有查阅资料能力?是否有设计思想?2.程序编码能力调试能力的考核:程序是否清晰、易读?在技算计上是否可独立完成程序的调试,是否熟练?3.说明书质量的考核:设计结构是否合理?叙述是否正确?方案是否可行?4.答辩:设计结果的调试能力,对自己设计是否熟练?5.出勤率极平时表现的考核:出勤超过2次不到者成绩为不及格。

数据结构课程设计参考题目-V1

数据结构课程设计参考题目-V1

数据结构课程设计参考题目-V1数据结构课程设计参考题目1.实现一个链表的增删改查操作2.实现一个栈并能利用栈来解决迷宫问题3.实现一个队列并能利用队列来解决约瑟夫问题4.实现一个二叉树并能进行遍历操作(前序、中序、后序遍历)5.实现一个堆并能用堆来进行排序操作6.实现一个哈希表,并能用哈希表来进行查找操作7.实现一个图,能够对图进行深度优先遍历和广度优先遍历8.实现一个红黑树,并能够进行插入、删除操作9.实现一个AVL树,并能够进行插入、删除操作10.实现一个并查集,并能够用来解决连通性问题文章正文数据结构是计算机科学中非常重要的一门课程,它为计算机科学家提供了用于存储和组织数据的基本工具。

因此,学习数据结构不仅是理论课,更需要具备实践能力。

以下是数据结构课程设计的参考题目。

1.链表操作链表是一种简单的数据结构,其操作包括增加、删除、查找和修改。

在链表操作的基础上还可以实现更复杂的数据结构,如队列和栈。

链表的设计可以由单链表、双向链表和循环链表三种形式来实现。

在设计时要考虑到时间复杂度和空间复杂度的问题。

因此,在设计链表的增删改查操作时,要考虑性能问题。

2.栈的操作栈这种数据结构用来解决后进先出(LIFO)的问题,可以用来解决一些非常实际的数学问题,如计算表达式等。

栈可以用数组或链表来实现,其中链表的实现方式更为常见。

在实现栈时,要考虑到两个问题:栈的空间大小和栈空时是否考虑垃圾回收。

3.队列操作队列是一种先进先出(FIFO)的实现,一般链表的实现方式比较常见,也可以用数组来实现。

队列的操作包括入队、出队、查找和修改等操作。

队列在实现时,要注意两个问题:队列的空间大小和队列为空时的处理方式。

4.二叉树的遍历二叉树是一种具有重大意义的数据结构,其遍历方式有前序遍历、中序遍历和后序遍历三种方式。

每一种遍历方式都是有其特点的,它在解决问题上提供了很好的思路。

二叉树的实现要考虑其时间复杂度和空间复杂度。

2022年沈阳理工大学计算机科学与技术专业《数据结构与算法》科目期末试卷A(有答案)

2022年沈阳理工大学计算机科学与技术专业《数据结构与算法》科目期末试卷A(有答案)

2022年沈阳理工大学计算机科学与技术专业《数据结构与算法》科目期末试卷A(有答案)一、选择题1、下述文件中适合于磁带存储的是()。

A.顺序文件B.索引文件C.哈希文件D.多关键字文件2、哈希文件使用哈希函数将记录的关键字值计算转化为记录的存放地址,因为哈希函数是一对一的关系,则选择好的()方法是哈希文件的关键。

A.哈希函数B.除余法中的质数C.冲突处理D.哈希函数和冲突处理3、链表不具有的特点是()。

A.插入、删除不需要移动元素B.可随机访问任一元素C.不必事先估计存储空间D.所需空间与线性长度成正比4、最大容量为n的循环队列,队尾指针是rear,队头:front,则队空的条件是()。

A.(rear+1)MOD n=frontB.rear=frontC.rear+1=frontD.(rear-1)MOD n=front5、下列关于AOE网的叙述中,不正确的是()。

A.关键活动不按期完成就会影响整个工程的完成时间B.任何一个关键活动提前完成,那么整个工程将会提前完成C.所有的关键活动提前完成,那么整个工程将会提前完成D.某些关键活动若提前完成,那么整个工程将会提前完成6、下列叙述中,不符合m阶B树定义要求的是()。

A.根结点最多有m棵子树 B.所有叶结点都在同一层上C.各结点内关键字均升序或降序排列 D.叶结点之间通过指针链接7、循环队列放在一维数组A中,end1指向队头元素,end2指向队尾元素的后一个位置。

假设队列两端均可进行入队和出队操作,队列中最多能容纳M-1个元素。

初始时为空,下列判断队空和队满的条件中,正确的是()。

A.队空:end1==end2;队满:end1==(end2+1)mod MB.队空:end1==end2;队满:end2==(end1+1)mod (M-1)C.队空:end2==(end1+1)mod M;队满:end1==(end2+1) mod MD.队空:end1==(end2+1)mod M;队满:end2==(end1+1) mod (M-1)8、在下述结论中,正确的有()。

沈阳理工大学c语言考研题库

沈阳理工大学c语言考研题库

沈阳理工大学c语言考研题库沈阳理工大学C语言考研题库沈阳理工大学是中国辽宁省的一所重点大学,以其在工程技术领域的卓越表现而闻名。

作为一所综合性大学,沈阳理工大学也注重培养学生的编程能力,其中C语言是必修课程之一。

为了帮助学生更好地准备C语言考研,沈阳理工大学建立了一套完整的C语言考研题库。

C语言作为一种通用的编程语言,被广泛应用于软件开发、嵌入式系统以及科学计算等领域。

掌握C语言的基本语法和编程思想对于计算机专业的学生来说至关重要。

因此,沈阳理工大学的C语言考研题库旨在帮助学生巩固所学知识,提高编程能力。

该题库涵盖了C语言的各个方面,包括基本语法、数据类型、运算符、控制语句、函数、指针、数组、结构体等。

每个知识点都有相应的练习题和编程题,学生可以通过解答这些题目来检验自己的理解和掌握程度。

此外,题库还提供了详细的解答和解析,帮助学生理解每个题目的解题思路和方法。

在C语言考研题库中,除了基础知识的练习题外,还有一些综合性的编程题。

这些题目旨在考察学生对多个知识点的综合运用能力。

例如,一个常见的综合性题目是要求学生编写一个简单的学生成绩管理系统,包括录入学生信息、计算平均成绩、查找最高分等功能。

通过解答这些综合性题目,学生可以提高自己的编程思维能力和实际应用能力。

除了题目本身,沈阳理工大学的C语言考研题库还提供了一些学习资源和辅助材料。

例如,学生可以通过题库中的链接访问相关的教学视频和教材,加深对知识点的理解。

此外,题库还提供了一些常见错误和易错点的解析,帮助学生避免犯同样的错误。

对于准备参加C语言考研的学生来说,沈阳理工大学的题库是一个宝贵的学习资源。

通过反复练习和解答题目,学生可以提高自己的编程能力和解题技巧。

同时,题库中提供的解析和辅助材料也能帮助学生更好地理解和掌握C语言的知识。

总之,沈阳理工大学的C语言考研题库为学生提供了一个系统、全面的学习平台。

通过使用这个题库,学生可以更好地准备C语言考研,提高自己的编程能力。

沈阳理工大学 电子信息工程专业数据结构大纲(32 8)

沈阳理工大学 电子信息工程专业数据结构大纲(32 8)

《数据结构》课程教学大纲课程代码:030332002课程英文名称:Data Struct课程总学时:40 讲课:32 上机:0 实验:8适用专业:电子信息工程专业大纲编写(修订)时间:2012.5一、大纲使用说明(一)课程的地位及教学目标数据结构课程是电子信息工程的专业基础课,它较详细地阐述了使用计算机解决具体问题时所建立的数学模型的逻辑结构与存储结构的多种类型以及对数据具体进行操作的算法实现。

通过本课程的学习,学生将达到以下要求:1.掌握数据结构的种类及其特点;2.掌握不同数据结构的不同存储结构的定义;3.具有在不同存储结构上编写各种操作算法的能力;4.运用数据结构知识处理实际问题。

(二)知识、能力及技能方面的基本要求1.知识:掌握几种典型数据结构及其逻辑结构、物理结构、基本操作实现。

2.能力:要求学生了解各种形式多样的客观问题中所涉及的数据对象,通过适当的分析,得到数据的逻辑结构、物理结构。

提高数据的分析能力、数据结构的物理结构的定义能力、编写算法的能力、算法的分析能力等。

3.技能:运用不同的数据结构在不同的存储结构上解决实际问题的技能,能运用高级语言正确定义数据的逻辑结构和选择有效的存储结构。

在解决具体问题时,充分考虑其操作的实现算法应注重时间效率和空间效率。

对查找与排序技术,应掌握基本的算法,并学会合理使用。

(三)实施说明1.教学方法:课堂讲授中要重点对基本概念、基本方法和解题思路的讲解;采用启发式教学,培养学生思考问题、分析问题和解决问题的能力;引导和鼓励学生通过实践和自学获取知识,培养学生的自学能力;增加讨论课,调动学生学习的主观能动性;注意培养学生提高利用标准、规范及手册等技术资料的能力。

讲课要联系实际并注重培养学生的创新能力。

2.教学手段:本课程属于专业基础课,在教学中采用电子教案、CAI课件及多媒体教学系统等先进教学手段,以确保在有限的学时内,全面、高质量地完成课程教学任务。

(四)对先修课的要求本课程的教学必须在完成先修课程之后进行。

数据结构课程设计题目汇总及要求

数据结构课程设计题目汇总及要求

数据结构课程设计题目汇总及要求数据结构课程设计题目课程设计题一:线性表子系统一.设计目的: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.设计一个整型数据元素的链队列。

沈阳理工面向对象程序设计题目

沈阳理工面向对象程序设计题目

2015-2016面向对象程序设计(Java)课程设计题目题目列表具体内容如下:1、画图软件要求完成:(1)完成画线、画直线、画矩形、画圆及擦除(橡皮擦功能)(2)可以设置画笔颜色(3)可以设置画笔宽度(4)使用面向对象的方法2、学生学籍管理系统要求完成:(1)学生学籍信息的添加、删除、查询、修改功能(2)使用界面操作(3)使用文件完成3、学生成绩管理系统要求完成:(1)完成学生成绩的添加、删除、查询、修改功能(2)使用界面操作(3)使用文件完成4、图书查询系统要求完成:(1)图书信息的添加、删除、查询、修改功能(2)使用界面操作(3)使用文件完成5、学生选课系统(1)要求完成:(1)课程的添加、删除、查询、修改(2)使用界面操作(3)使用文件完成6、学生选课系统(2)要求完成:(1)学生选课信息的添加、删除、查询、修改(2)使用界面操作(3)使用文件完成7、进销存管理系统进销存管理系统是一个企业信息化管理软件,可以实现企业的进货、销售、库存管理等各项业务的信息化管理。

将学习使用Java Swing技术和SQL Server 2000数据库开发跨平台的应用程序。

通过实践,可以学习到:●如何进行项目的可行性分析●如何系统设计●如何进行数据库分析和数据库建模●企业进销存主要功能模块的开发过程●如何设计公共类●如何将程序打包8、企业快信随着互联网的迅速发展,短信和E-mail 已经成为人与人之间沟通的桥梁,越来越多的人开始选择通过网络进行即时沟通。

为此,越来越多的网站开始提供发送E-mail 以及收发手机短信的功能。

与此同时,短信和E-mail 也以其快捷、无时空限制、低成本等优势受到众多企业的青睐,成为企业移动商务的主流应用方式。

本实验介绍的企业快信就是为企业提供的短信和E-mail 群发的解决方案。

通过实践,读者可以:●掌握开发企业快信的基本流程●掌握分析并设计数据库的方法●掌握使用短信猫收发短信的方法●掌握通过Java Mail 进行邮件群发的方法●掌握短信猫和Java Mail 组件的使用方法●掌握JavaDB 数据库的嵌入模式9、手机游戏手游为广大手机用户带来了一种全新的休闲方式,他们可以随时随地利用手游放松紧张的情绪,缓解学习、工作、生活中的种种压力。

课程设计题目及要求

课程设计题目及要求

北方民族大学课程设计课程名称: 数据结构与算法院(部)名称:信息与计算科学学院组长姓名学号同组人员姓名指导教师姓名:纪峰设计时间: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。

不同的项目取前五名或前三名积分;取前五名的积分分别为:7、5、3、2、1,前三名的积分分别为:5、3、2;哪些取前五名或前三名由学生自己设定。

(m<=20,n<=20)功能要求:1)可以输入各个项目的前三名或前五名的成绩;2)能统计各学校总分,3)可以按学校编号或名称、学校总分、男女团体总分排序输出;4)可以按学校编号查询学校某个项目的情况;可以按项目编号查询取得前三或前五名的学校。

数据结构课程设计题目(最终版)-2012

数据结构课程设计题目(最终版)-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。

《沈阳理工大学数据结构课程设计50题》

《沈阳理工大学数据结构课程设计50题》

题目:1.键盘输入一个含有括号的四则运算表达式,可能含有多余的括号,编程整理该表达式,去掉所有多余的括号,原表达式中所有变量和运算符相对位置保持不变,并保持与原表达式等价。

2.给定两个序列X=<x1, x2, …, x m>和Y=<y1, y2, … , y n>,要求找出X和Y的一个最长公共子序列。

3.设一单向链表的头指针为head,链表的记录中包含着整数类型的key域,试设计算法,将此链表的记录按照key递增的次序进行就地排序.(不允许使用数组做辅助存储)4.擦数游戏在黑板上从1开始写出一组连续的自然数,然后擦去其中的一个数k,其余的数的平均值为a/b(a,b为整数)。

试编写程序求出被擦去的数k。

5.基数排序6.连通无向图的非递归遍历。

7.求二叉树根结点到指定结点的路径。

8.判别给定的二叉树是否为二叉排序树。

9.已知二叉树的中序和先序序列,求后序序列。

10.拓扑排序11.试修改起泡排序,以交替的正、反两个方向进行扫描。

即第一趟把排序码最大的记录放到最末尾,第二趟把排序码最小的记录放到最头上。

如此反复进行。

12.矩阵A中的元素若满足:A[i,j]是第i行中值最小的元素,且又是第j列中值最大的元素,则称元素A[i,j]为该矩阵的一个马鞍点。

求出m×n矩阵的所有马鞍点。

13.最小生成树(普里母算法实现 28题用其他算法实现)14.迷宫求解:在迷宫中求一条路径的算法,基本思想:若当前、位置可通过,则压入栈中,否则探索下一位置,若走不通,则回溯,迷宫大小:M*N。

迷宫设置自定义。

15.设明文P=P0P1P2…Pn和密钥K=K0K1K2…Km(n>=m)中的字符Pi(1<=i<=n)或Kj(1<=j<=m)的ASCII为00~7FH,用密钥K对明文P进行加密得到密文C=C0C1C2…Cn,用密钥K对密文C解密得到明文P。

加密: Ci=Pi+Kj (j=i mod (m+1)) (当Ci<=7FH)Ci=Pi+Kj-80H (j=i mod (m+1)) (当Ci>7FH)解密:: Pi=Ci-Kj (j=i mod (m+1)) (当Ci>=Kj)Pi=Ci-Kj+80H (j=i mod (m+1)) (当Ci<Kj)16.求二叉树中指定两个结点共同的祖先。

数据结构试题库

数据结构试题库

1 绪论沈阳理工大学应用技术学院信息与控制学院计算机科学与技术教研室2011-5-8数据结构复习题:绪论单选题1、在数据结构中,与所使用的计算机无关的数据叫____结构。

A存储|B物理|C逻辑|D物理和存储2、在数据结构中,从逻辑上可以把数据结构分成______。

A动态结构和静态结构|B紧凑结构和非紧凑结构|C线性结构和非线性结构|D内部结构和外部结构图3、数据结构在计算机内存中的表示是指_______。

数据的存储结构|数据结构|数据的逻辑结构|数据元素之间的关系4、在数据结构中,与所使用的计算机无关的是数据的______结构。

逻辑|存储|逻辑和存储|物理5、在以下的叙述中,正确的是_____。

线性表的线性存储结构优于链表存储结构|二维数组是其数据元素为线性表的线性表|栈的操作方式是先进先出|队列的操作方式是先进后出6、在决定选取何种存储结构时,一般不考虑_______。

各结点的值如何|结束个数的多少|对数据有哪些运算|所用编程语言实现这种结构是否方便7、在存储数据时,通常不仅要存储各数据元素的值,而且还要存储_______。

数据的处理方法|数据元素的类型|数据元素之间的关系|数据的存储方法8、下面说法错误的是_______。

(1)算法原地工作的含义是指不需要任何额外的辅助空间(2)在相同的规模n下,复杂度O(n)的算法在时间上总是优于复杂度O(2n)的算法(3)所谓时间复杂度是指最坏情况下,估计算法执行时间的一个上界(4)同一个算法,实现语句的级别越高,执行效率越低(1)|(1)、(2)|(1)、(4)|(3)9、通常要求同一逻辑结构中的所有数据元素具有相同的特性。

这意味着______。

数据元素具有同一特点|不仅数据元素所包含的数据项的个数要相同,而且对应的数据项的类型要一致|每个数据元素都一样|数据元素所包含的数据项的个数要相等10、以下说法正确的是_______。

数据元素是数据的最小单位|数据项是数据的基本单位|数据结构是带结构的数据项的集合|一些表面上很不相同的数据可以有相同的逻辑结构11、____是数据的最小单元,_____是数据的基本单位.数据项|数据元素|信息项|表元素12、数据结构是指_____以及它们之间的_____.(1)数据元素(2)结构|(1)计算方法(2)关系|(1)逻辑存储(2)运算|(1)数据映像(2)算法13、计算机所处理的数据一般具备某种内在的关系,这是的指_____.数据和数据之间存在的某种关系|元素和元素之间存在某种关系|元素内部具有某种结构|数据项和数据项之间存在某种关系14、数据的逻辑结构可以分为_____两类.动态结构和表态结构|紧凑结构和非紧凑结构|线性结构和非线性结构|内部结构和外部结构15、数据的逻辑结构是指_____关系的整体.数据元素之间逻辑|数据项之间逻辑|数据类型之间|存储结构之间16、在存储数据时,通常不仅要存储各数据元素的值,而且还要存储_____.数据的处理方法|数据元素的类型|数据元素之间的关系|数据的存储方法17、在数据的存储结构中,一个存储结点存储一个_____.数据项|数据元素|数据结构|数据类型18、在计算机的存储器中表示时,物理地址和逻辑地址直接对应并且是连续的,称之为_____.逻辑结构|顺序存储结构|链式存储结构|以上都对19、数据采用链式存储结构时,要求_____.每个结点用占一片连续的存储区域|所有结点占用一片连续的存储区域|结点的最后一个数据域是指针类型|每个结点有多少个后继,就设多少个指针域20、数据的运算_____.效率与采用何种存储结构有关|是根据存储结构来定义的|有算术运算和关系运算两大类|必须用程序设计语言来描述21、下列说法中,不正确的是_____.数据元素是数据的基本单位|数据项是数据中不可分割的最小可标识单位|数据可由若干个数据元素构成|数据项可由若干个数据元素构成22、_____不是算法的基本特性.可行性|长度有限|在规定的时间内完成|确定性23、计算机中算法指的是解决某一问题的有限运算序列,它必须具备输入、输出、_____.可行性、可移植性和可扩充性|可行性、有穷性和确定性|确定性、有穷性和稳定性|易读性、稳定性和确定性24、以下不属于算法特性的是_____.可行性|有输入|确定性|健壮性25、下面关于算法的说法正确的是_____.算法最终必须由程序实现|算法的有穷性是对于任意的一组输入值必须在有穷步骤后结束|算法的可行性是指指令不能有二义性|以上几个都是错误的26、算法的时间复杂度与______有关问题规模|计算机硬件性能|编译程序质量|程序设计语言27、算法分析的主要任务是分析_____.算法是否具有较好的可读性|算法中是否存在语法错误|算法的功能是否符合设计要求|算法的执行时间和问题规模之间的关系28、某算法的时间复杂度为O(n2),表明该算法的_____.问题规模是n2|执行时间等于n2|执行时间与n2成正比|问题规模与n2成正比29、算法分析的目的是_____.找出数据结构的合理性|研究算法中输入和输出关系|分析算法的效率以求改进|分析算法的易读性和文档性30、线性表是具有n个______的有限序列。

沈阳理工大学812数据结构2020年考研专业课初试大纲

沈阳理工大学812数据结构2020年考研专业课初试大纲

沈阳理工大学硕士研究生入学考试自命题考试大纲科目代码:812科目名称:数据结构适用专业:081200计算机科学与技术
一、考试基本内容
(一)绪论
(1)数据结构的基本概念和相关术语。

(2)数据的逻辑结构、存储结构。

(3)算法、算法的基本特性以及算法分析。

(二)线性表
(1)线性结构、线性表的定义,线性表的基本操作。

(2)线性表的顺序存储结构与链式存储结构(单链表、循环链表和双向链表)。

在两种存储结构上主要的操作算法(包括建立、插入和删除等)的实现。

(3)线性表的应用。

(三)栈与队列
(1)栈与队列的基本概念、基本操作。

(2)栈和队列的两种存储结构及基本操作算法的实现。

(3)栈和队列的应用。

(四)串
(1)串的基本概念、串的基本操作和存储结构。

(2)串的模式匹配算法的实现。

(五)数组和广义表
(1)数组的概念、多维数组的实现。

(2)特殊矩阵和稀疏矩阵的压缩存储
(3)广义表的基本概念
(六)树与二叉树
(1)树的概念、术语,树的存储结构。

(2)二叉树的概念、性质,二叉树的存储结构。

2019沈阳理工大学硕士研究生自命题考试大纲812数据结构

2019沈阳理工大学硕士研究生自命题考试大纲812数据结构

沈阳理工大学硕士研究生入学考试自命题考试大纲科目代码:812科目名称:数据结构适用专业:081200计算机科学与技术、083500软件工程一、考试基本内容(一)绪论(1)数据结构的基本概念和相关术语。

(2)数据的逻辑结构、存储结构。

(3)算法、算法的基本特性以及算法分析。

(二)线性表(1)线性结构、线性表的定义,线性表的基本操作。

(2)线性表的顺序存储结构与链式存储结构(单链表、循环链表和双向链表)。

在两种存储结构上主要的操作算法(包括建立、插入和删除等)的实现。

(3)线性表的应用。

(三)栈与队列(1)栈与队列的基本概念、基本操作。

(2)栈和队列的两种存储结构及基本操作算法的实现。

(3)栈和队列的应用。

(四)串(1)串的基本概念、串的基本操作和存储结构。

(2)串的模式匹配算法的实现。

(五)数组和广义表(1)数组的概念、多维数组的实现。

(2)特殊矩阵和稀疏矩阵的压缩存储(3)广义表的基本概念(六)树与二叉树(1)树的概念、术语,树的存储结构。

(2)二叉树的概念、性质,二叉树的存储结构。

(3)遍历二叉树和线索二叉树。

(4)树和森林。

(5)赫夫曼树及其应用。

(七)图(1)图的定义,图的分类,常用概念术语。

(2)图的存储结构。

(3)图的遍历操作。

(4)最小生成树,最短路径,关键路径,拓扑排序。

(八)查找(1)查找的概念和术语。

(2)静态查找表。

(3)动态查找表。

(4)哈希表。

(九)内排序(1)排序的基本概念,排序方法的分类。

(2)插入排序法、选择排序法、交换排序法、归并排序、基数排序。

各种排序方法排序的原理、规律和特点,各种排序算法的时空复杂度简单分析。

二、考试要求(一)掌握数据结构的相关术语,建立有关数据结构的基本概念,掌握数据的逻辑结构、存储结构和算法,掌握算法分析的基本概念与基本方法。

(二)掌握线性表的基本概念,了解线性表在两种存储结构上实现的不同特点,掌握线性表的两种存储结构及其操作算法实现,掌握利用线性表实现不同问题的设计方法。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

题目:
1.键盘输入一个含有括号的四则运算表达式,可能含有多余的括号,编程整理该表达式,
去掉所有多余的括号,原表达式中所有变量和运算符相对位置保持不变,并保持与原表达式等价。

2.给定两个序列X=<x1, x2, …, x m>和Y=<y1, y2, … , y n>,要求找出X和Y的一个最长
公共子序列。

3.设一单向链表的头指针为head,链表的记录中包含着整数类型的key域,试设计算法,将
此链表的记录按照key递增的次序进行就地排序.(不允许使用数组做辅助存储)
4.擦数游戏
在黑板上从1开始写出一组连续的自然数,然后擦去其中的一个数k,其余的数的平均值为a/b(a,b为整数)。

试编写程序求出被擦去的数k。

5.基数排序
6.连通无向图的非递归遍历。

7.求二叉树根结点到指定结点的路径。

8.判别给定的二叉树是否为二叉排序树。

9.已知二叉树的中序和先序序列,求后序序列。

10.拓扑排序
11.试修改起泡排序,以交替的正、反两个方向进行扫描。

即第一趟把排序码最大的记录放
到最末尾,第二趟把排序码最小的记录放到最头上。

如此反复进行。

12.矩阵A中的元素若满足:A[i,j]是第i行中值最小的元素,且又是第j列中值最大的元
素,则称元素A[i,j]为该矩阵的一个马鞍点。

求出m×n矩阵的所有马鞍点。

13.最小生成树(普里母算法实现 28题用其他算法实现)
14.迷宫求解:
在迷宫中求一条路径的算法,基本思想:若当前、位置可通过,则压入栈中,否则探索下一位置,若走不通,则回溯,迷宫大小:M*N。

迷宫设置自定义。

15.设明文P=P0P1P2…Pn和密钥K=K0K1K2…Km(n>=m)中的字符Pi(1<=i<=n)或Kj(1<=j<=m)
的ASCII为00~7FH,用密钥K对明文P进行加密得到密文C=C0C1C2…Cn,用密钥K对密文C解密得到明文P。

加密: Ci=Pi+Kj (j=i mod (m+1)) (当Ci<=7FH)
Ci=Pi+Kj-80H (j=i mod (m+1)) (当Ci>7FH)
解密:: Pi=Ci-Kj (j=i mod (m+1)) (当Ci>=Kj)
Pi=Ci-Kj+80H (j=i mod (m+1)) (当Ci<Kj)
16.求二叉树中指定两个结点共同的祖先。

17.哈夫曼编码:
根据字符使用权值不同,设计最优的二进制编码,初使条件:已知N个权值。

实现顺序:先构造哈夫曼树,然后再求各叶结点的编码。

18.判别给定的二叉树是否是完全二叉树。

19.关键路径
20.求一个表达式的逆波兰式
21.汉诺塔非递归算法
22.已知二叉树的中序和后序序列,求先序序列。

23.最小生成树(非普利姆算法)
24.求树的宽度
所谓宽度是指在二叉树的各层上,具有结点数最多的那一层上的结点总数。

25.堆排序的实现:在顺序结构上完成,先建堆然后重建堆,最后实现全部排序
26.万年历:通过给定的年,求该年的日历,闰年算法:{Y%4 &&!Y%100}||Y%400==0
27.最短路径求图中任意两点间的最短路径
28.归并排序算法:用两路归并算法,实现N个无素的排序
29.求子串在主串中的位置并置换子串:给定主串和子串,显示出子串在主串中的第一个位
置,基子串在主串中不存在,则返0;若非零则用给定的串替换子串。

30.一元多项式的相加
31.约瑟夫环
32.分子式是用来表达分子组成结构的表达式,一般表达形式为A1c1A2c2A3c3... 其中
Ai(i=1,2,.......)表示原子或原子团,ci(i=1,2,....)表示原子或原子团Ai重复的次数。

当ci=1时,ci必须省略不写,且原子团的括号也不要。

例如N的原子量为14,H 的原子量为1,C的原子量为12,O的原子量为16,因此(NH4)2CO3的分子量为(14+1*4)*2+12+16*3=96。

试编写程序求出给定的各个分子式所对应的分子量。

33.对一棵二叉树加线索(中序)对一棵二叉树加线索(后序)
34.内存分配算法:利用静态链表,模拟实现内存分配
35.对一棵二叉树加线索(先序)
36.请设计一个有效的算法,可以进行两个n位大整数的乘法运算。

37.请设计一个算法,把二叉树的叶子结点按从左到右的顺序连成一个单链表。

二叉树用二
叉链存储,链接时用叶子结点的rchild 域存放指针。

38.对一个存储为邻接表的图,给出求其所有连通分量。

39.处理器中有一就绪队列,若干个进程依到达的时刻依次进入就绪队列,每个进程有进程
名和处理器处理此进程的所需空间,仿静态链表形式分配内存所需空间,编程序实现cpu调度算法。

40.学籍管理对学生、课程、成绩分别建立三个数据文件(学生、课程、成绩属性自定)。

查询①某个学生的选课情况②成绩不及格的学生情况③对课程名按不及格学生人数进行排序④建立模拟索引。

41.工资管理自己建立数据文件(提示可建立:职工、工资级别、职工工资)完成:①查
询职工的平均工资②查询某一级别人员的平均工资③普调工资④将职工姓名按工资额度进行排序
42.房产信息管理按上述建立数据文件的方式对房产信息进行如下管理:①查询②修改③
排序
43.供货信息管理按上述建立数据文件的方式对供货信息进行如下管理:①查询②修改③
排序
44.五子棋
在围棋比赛中,某一方(假设为黑方)在棋盘的某个位置(i,j)下子后,有可能提取对方(白方的一串子)。

以W[19][19]表示一个棋盘,若W[i][j]=0表示在位置(i,j)上没有子,W[i][j]=1表示该位置上的是黑子,W[i][j]=-1表示该位置上是白子。

模拟实现五子棋过程。

45.整理货架
商店货架以栈的形式摆放商品,生产日期越近的越靠近栈底,出栈是从栈顶取货,一天营业结束,如果货架不满,则需上货,如果直接将商品摆放到货架上,则会使生产日期
越近的越靠近栈顶.这就需要倒货架,仍使生产日期越近的越靠近栈底。

写出货物进栈、出栈算法。

46.银行业务模拟问题描述:
客户业务分为两种。

第一种是申请从银行得到一笔资金,即取款或借款。

第二种是向银行投入一笔资金,即存款或还款。

银行有两个服务窗口,相应的有两个队列。

客户到达银行后先排第一个队。

处理每个客户业务时,如果属于第一种,且申请额超出银行现存资金总额而得不到满足,则立即排入第二队等候,直至满足时才离开银行,否则业务处理完后立即离开银行。

每接待完一个第二种业务的客户,则顺序检查和处理(如果可能)第二个队列的客户,对能满足的申请者予以满足,不能满足者重新排到第二个队列的队尾。

注意,在此检查过程中,一旦银行资金总额少于或等于刚才第一个队列中最后一个客户(第二种业务)被接待之前的数额,或者本次已将第二个队列检查或处理了一遍,就停止检查(因为此时已不可能还有能满足者)转而继续接待第一个队列的客户。

任何时刻都只开一个窗口。

假设检查不需要时间。

营业时间结束时所有客户立即离开银行。

写一个上述银行业务的事件驱动模拟系统,通过模拟方法求出客户在银行内逗留的平均时间。

47.通讯录
48.人事档案管理
49.俄罗斯方块
50.运动会分数统计程序的设计
⑴运动会分数统计
任务:参加运动会有n个学校,学校编号为1……n。

比赛分成m个男子项目,和w个女子项目。

项目编号为男子1……m,女子m+1……m+w。

不同的项目取前五名或前三名积分;取前五名的积分分别为:7、5、3、2、1,前三名的积分分别为:5、3、2;
哪些取前五名或前三名由学生自己设定。

(m<=20,n<=20)
功能要求:
1). 可以输入各个项目的前三名或前五名的成绩;
2).能统计各学校总分,
3).可以按学校编号、学校总分、男女团体总分排序输出;
4). 可以按学校编号查询学校某个项目的情况;可以按项目编号查询取得前三或前五名
的学校。

规定:输入数据形式和范围:20以内的整数(如果做得更好可以输入学校的名称,运动项目的名称)
输出形式:有中文提示,各学校分数为整形
界面要求:有合理的提示,每个功能可以设立菜单,根据提示,可以完成相关的功能要求。

存储结构:学生自己根据系统功能要求自己设计,但是要求运动会的相关数据要存储在数据文件中。

(数据文件的数据读写方法等相关内容在c语言程序设计的书上,请自学解决)请在最后的上交资料中指明你用到的存储结构;
测试数据:要求使用1、全部合法数据;2、整体非法数据;3、局部非法数据。

进行程序测试,以保证程序的稳定。

测试数据及测试结果请在上交的资料中写明;。

相关文档
最新文档