循环链表方法解决汉诺塔问题顺序求解

需积分: 14 0 下载量 112 浏览量 更新于2024-09-06 收藏 147KB PDF 举报
本文是一篇关于汉诺塔问题顺序求解的研究论文,作者是刘文闯,来自河南科技学院计算机科学系。该论文探讨了如何突破传统观念,即非递归方法难以解决汉诺塔问题,提出了一种利用循环链表的创新思路。作者首先介绍了问题背景,指出长期以来人们普遍认为递归调用是解决汉诺塔问题的常见方法,但在本文中,作者挑战了这一观点,试图找到非递归的解决方案。 在问题分析部分,作者详细阐述了汉诺塔问题的具体要求,包括辨别盘子大小、确认框为空以进行移动、跟踪移动过的盘子、以及确保移动过程中的正确性。为了解决这些问题,作者设计了一个循环链表结构,其中每个节点代表一个框架,包含一个数组用于存储盘子大小信息,并通过一个变量K记录当前框架剩余空间。每个框架的数组中还额外设定了一个特殊值,用于标识其上层的“禁入”状态,避免不必要的重复移动。 文章的核心部分是用C语言编程实现了这个循环链表的方法,具体涉及数据结构的设置、移动过程的逻辑控制以及如何确保每次移动后都达到最优解。作者通过程序流程图清晰地展示了整个算法的执行步骤,使得非递归求解汉诺塔问题变得直观且易于理解。 总结来说,这篇论文不仅提供了一个新颖的非递归求解汉诺塔问题的算法,还展示了如何将循环链表理论应用于实际问题,具有一定的学术价值和实用意义。通过阅读这篇文章,读者不仅可以了解到汉诺塔问题的新解法,还能学习到如何运用循环链表进行问题的结构化处理。