数据结构课件设计-学生-21个题目 下载本文

内容发布更新时间 : 2024/6/26 15:28:22星期一 下面是文章的全部内容请认真阅读。

“数据结构”课程设计-指导书 2011-6-2

选题一:迷宫与栈问题

【问题描述】

以一个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)为出口。

入口00123456789出口123456789入口001234567891111111111100000000112100010110131110100101410001101015100100000161001001101711100001018100000000191111111101出口

“数据结构”课程设计-指导书 2011-6-2

选题二:算术表达式与二叉树

【问题描述】

一个表达式和一棵二叉树之间,存在着自然的对应关系。写一个程序,实现基于二叉树表示的算术表达式的操作。 【任务要求】

假设算术表达式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) 每当输入一个表达式后,对其中的变量赋值,然后对表达式求值。

“数据结构”课程设计-指导书 2011-6-2

选题三:银行业务模拟与离散事件模拟

【问题描述】

假设某银行有4个窗口对外接待客户,从早晨银行开门(开门9:00am,关门5:00pm)起不断有客户进入银行。由于每个窗口在某个时刻只能接待一个客户,因此在客户人数众多时需要在每个窗口前顺次排队,对于刚进入银行的客户(建议:客户进入时间使用随机函数产生),如果某个窗口的业务员正空闲,则可上前办理业务;反之,若4个窗口均有窗户所占,他便会排在人数最少的队伍后面。 【任务要求】

1) 编制一个程序以模拟银行的这种业务活动并计算一天中客户在银行逗留的平均时

间。

2) 建议有如下设置:

a) 客户到达时间随机产生,一天客户的人数设定为100人。 b) 银行业务员处理时间随机产生,平均处理时间10分钟。 3) 将一天的数据(包括业务员和客户)以文件方式输出。 【测试数据】

由随机数产生器生成