中国农业大学_821数据结构_《数据结构》实验笔记(3)

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

实验3 栈和队列

课程实验共安排8个难度各易的实验,训练重点在于掌握基本的数据结构,而不强调面面俱到。通过实验,掌握抽象数据类型的概念和基本数据结构,掌握各种数据结构内在的逻辑关系,各种数据结构在计算机中的存储表示,基于各种数据结构上的基本运算、算法实现及算法分析。

●实验目的

(1) 掌握栈和队列的顺序存储结构和链式存储结构,以便在实际背景下灵活运用。

(2) 掌握栈和队列的特点,即“先进后出”与“先进先出”的原则。

(3) 掌握栈和队列的基本运算,比如入栈与出栈、入队与出队等运算在顺序存储结构和链式存储结构上的实现。

●实验内容

1. 停车场管理

[问题描述] 设有一个可以停放n辆汽车的狭长停车场,它只有一个大门可以供车辆进出。车辆按到达停车场时间的早晚依次从停车场最里面向大门口处停放(最先到达的第一辆车放在停车场的最里面)。如果停车场已放满n辆车,则后来的车辆只能在停车场大门外的便道上等待,一旦停车场内有车开走,则排在便道上的第一辆车就进入停车场。停车场内如果有某辆车要开走,那么在它之后进入停车场的车都必须先退出停车场为它让路,待其开出停车场后,这些车辆再依原来的次序进场。每辆车在离开停车场时,都应该根据它在停车场内停留的时间长短交费。如果停留在便道上的车未进停车场就要离去,那么允许其离去,不收停车费,并且仍然保持在便道上等待的车辆的次序。编制一程序模拟该停车场的管理。

[基本要求] 要求程序输出每辆车到达后的停车位置(停车场或便道上),以及某辆车离开停车场时应交纳的费用和它在停车场内停留的时间。

[实验提示] 汽车的模拟输入信息格式可以是:(到达/离去,汽车牌照号码,到达/离去的时刻)。例如,('A', 1, 5) 表示1号牌照车在5这个时刻到达,而('D', 5, 20) 表示5号牌照车在20这个时刻离去。整个程序可以在输入信息为('E', 0, 0) 时结束。本题可以用栈和队列来实现。

2. 迷宫问题(1)

[问题描述] 迷宫实验是取自心理学的一个古典实验。在该实验中,把一只老鼠从一个无顶大盒子的门放入,在盒中设置了许多墙,对行进方向形成了多处阻挡。盒子仅有一个出口,在出口处放置一块奶酪,吸引老鼠在迷宫中寻找道路以到达出口。对同一只老鼠重复进行上述实验,一直到老鼠从入口到出口,而不走错一步。老鼠经多次实验终于得到它学习走通迷宫的路线。设计一个计算机程序对任意设定的迷宫,求出一条从入口到出口的通路,或得出没有通路的结论。

[基本要求] 要求程序输出:

(1) 一条通路的二元组(i, j) 数据序列,(i, j) 表示通路上某一点的坐标。

(2) 用一种标志(如数字8)在二维数组中标出该条通路,并在屏幕上输出二维数组。

3. 迷宫问题(2)

[问题描述] 在第2题给出的条件基础上,要求设计一个算法,寻找一条从迷宫入口到出口的最短路径。

[基本要求] 输出信息的要求同第2题。

●实验要求

(1) 认真分析题目。

(2) 进行算法设计。

(3) 编写程序代码

(4) 上机调试程序。

(5) 保存和打印出程序的运行结果,并结合程序进行分析。

相关文档
最新文档