作业二-用栈求解汉诺塔

时间:2019-12-16 07:21:30
【文件属性】:

文件名称:作业二-用栈求解汉诺塔

文件大小:2.7MB

文件格式:ZIP

更新时间:2019-12-16 07:21:30

数据结构 汉诺塔

学习栈的原理 熟悉链表的构建与使用,利用链表实现栈 利用栈求解汉诺塔问题 问题描述 汉诺塔问题: 现有三个塔座,在塔1上叠有64个碟子,所有碟子按从大到小的次序从塔底堆放至塔顶。在塔1旁边还有另外两个塔座(塔2和塔3)。 要求每次移动一个碟子,将塔1上的64个碟子借助塔3全部移到塔2上,且在任何时候都不能把一个碟子放在比它小的碟子上。 实验要求: 1.由于从每个塔上移走碟子是按照LIFO的方法进行的,因此可以把每个塔表示成一个堆栈。 2.三座塔在任何时候都总共拥有n个碟子,因此使用链表形式的堆栈总共只需要申请n个元素所需要的空间,但是使用公式化描述的堆栈时,塔1和塔2的容量都必须是n,而塔3的容量必须是n-1,故总共需要3n-1的空间。 3.本次实验要求使用链表形式的栈。 4.链表的每个节点存储数据信息和指向下一个节点的指针 5.栈中保存每次移动后的状态


【文件预览】:
新建文件夹
----download.pptx(52KB)
----Project1()
--------Debug()
--------Project1.sln(970B)
--------Project1.sdf(6.94MB)
--------Project1()
--------Project1.v12.suo(19KB)
----试验报告二.doc(28KB)

网友评论