您的位置:首页 > 理论基础 > 数据结构算法

3-6-汉诺塔(Hanoi Tower)问题-栈和队列-第3章-《数据结构》课本源码-严蔚敏吴伟民版

2016-02-28 22:19 751 查看
课本源码部分

第3章 栈和队列 - 汉诺塔(Hanoi Tower)问题

——《数据结构》-严蔚敏.吴伟民版

源码使用说明 链接☛☛☛ 《数据结构-C语言版》(严蔚敏,吴伟民版)课本源码+习题集解析使用说明

课本源码合辑 链接☛☛☛ 《数据结构》课本源码合辑

习题集全解析 链接☛☛☛ 《数据结构题集》习题解析合辑

本源码引入的文件 链接☛ [b]无外链[/b]

相关测试数据下载 链接☛ 无数据

文档中源码及测试数据存放目录:数据结构\▲课本算法实现\▲03 栈和队列\06 Hanoi

概述

汉诺塔是[b]递归的经典应用。[/b]

解析

栈在定义中,是一种只允许一端进行插入和删除的数据结构。先入栈的元素,必须在比它入栈晚的元素全部出栈后,它才能出栈。栈可以保存暂时不用的“元素”,以便将来回溯时候使用,在寻路算法中很常见。

汉诺塔问题如下图:





问题描述为将塔X上的圆盘全部移动到塔Z,且移动过程中,小盘始终位于大盘上方。解决思路就是欲将n个圆盘从X移动到Z,只需先移动前n-1个圆盘到辅助塔Y,再将剩下的一个圆盘从X移动到Z,最后再以X作为辅助塔,将余下的n-1个圆盘从Y移动到Z。

源码

文件一 ☛ Hanoi.h



文件二 ☛ Hanoi.c



文件三 ☛ Hanoi-main.c (测试文档)



测试结果展示



更多章节持续更新中...

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: