3-6-汉诺塔(Hanoi Tower)问题-栈和队列-第3章-《数据结构》课本源码-严蔚敏吴伟民版
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了3-6-汉诺塔(Hanoi Tower)问题-栈和队列-第3章-《数据结构》课本源码-严蔚敏吴伟民版相关的知识,希望对你有一定的参考价值。
课本源码部分
第3章 栈和队列 - 汉诺塔(Hanoi Tower)问题
——《数据结构》-严蔚敏.吴伟民版
源码使用说明 链接??? 《数据结构-C语言版》(严蔚敏,吴伟民版)课本源码+习题集解析使用说明
课本源码合辑 链接??? 《数据结构》课本源码合辑
习题集全解析 链接??? 《数据结构题集》习题解析合辑
本源码引入的文件 链接? 无外链
相关测试数据下载 链接? 无数据
文档中源码及测试数据存放目录:数据结构\\▲课本算法实现\\▲03 栈和队列\\06 Hanoi
概述
汉诺塔是递归的经典应用。
解析
栈在定义中,是一种只允许一端进行插入和删除的数据结构。先入栈的元素,必须在比它入栈晚的元素全部出栈后,它才能出栈。栈可以保存暂时不用的“元素”,以便将来回溯时候使用,在寻路算法中很常见。
汉诺塔问题如下图:
问题描述为将塔X上的圆盘全部移动到塔Z,且移动过程中,小盘始终位于大盘上方。解决思路就是欲将n个圆盘从X移动到Z,只需先移动前n-1个圆盘到辅助塔Y,再将剩下的一个圆盘从X移动到Z,最后再以X作为辅助塔,将余下的n-1个圆盘从Y移动到Z。
源码
文件一 ? Hanoi.h
文件二 ? Hanoi.c
文件三 ? Hanoi-main.c (测试文档)
测试结果展示
更多章节持续更新中...
以上是关于3-6-汉诺塔(Hanoi Tower)问题-栈和队列-第3章-《数据结构》课本源码-严蔚敏吴伟民版的主要内容,如果未能解决你的问题,请参考以下文章
用递归方法解决汉诺塔问题(Recursion Hanoi Tower Python)