“数据结构”课程设计-指导书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)为出口。87654321001234567899入口出口008765432101111111110100000001011010001201001011130101100014000001001501100100160100001117000000001811111111911111111119入口出口“数据结构”课程设计-指导书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 个窗口均有窗户所占,他便会排在...