数据库原理实验指导书. 下载本文

内容发布更新时间 : 2024/11/19 18:39:22星期一 下面是文章的全部内容请认真阅读。

数据结构及数据库原理

实 验 指 导 书

孙 毅

浙江工业大学 机电工程学院CAD研究所

2OO1.7.

实验一:(数据结构) Hanoi塔问题求解

1. 知识辅导:

堆栈问题是数据结构中二种主要的线性结构之一。其基本操作是线性表操作的子集,已广泛应用于各种软件产品中。栈操作主要发生在线性表的表尾进行插入或删除操作。其在计算机中的存储结构可利用数组或链表方式来实现。压栈及出栈操作可通过栈顶元素的变化来实现。从空间的合理应用及操作的便利方式上考虑,利用链表结构有利于计算机代码的管理与实现。

2. 实验目的

通过对Hanoi塔问题的求解,复习并掌握数据结构中线性结构的存储结构实现方式、操作方法的实现,并培养软件编程实现过程中对程序模块的安全检测与控制能力。

3.实验内容:

设有A、B、C三根立柱(如图所示)和N个大小不等的中空圆盘从小到大依次编号(1,2,3,……,N)已在A柱上堆成塔形,

1

试将此盘全部移至轴,且按原样迭成塔形。在移动中有如下限制:

1 2 3 A B C ? 每次只能移动一个圆盘;

? 任何时候均不得大盘压在小盘中; ? 圆盘只允许套在A、B、C三根立柱上。

4.实验思考说明:

该问题可归结为三个子任务:

(1)将1~N-1号盘移至B轴。移动时C轴作辅助轴; (2)将N号盘由A轴移至C轴;

(3) 再将号盘从B轴移动至C轴,A轴作辅助轴。

其中:(2)只需移动一次完成;(1)和(3)与原问题的提法完全相同,只不过圆盘数量少1个,且A、B、C三个立轴的作用也有所不同。

可设计一个过程:

movetow(height,from,to,using);

2