游戏开发论坛

 找回密码
 立即注册
搜索
查看: 2733|回复: 5

关于汉诺塔问题!(有点初级)

[复制链接]

12

主题

214

帖子

220

积分

中级会员

Rank: 3Rank: 3

积分
220
发表于 2010-4-5 18:54:00 | 显示全部楼层 |阅读模式
谭老先生书里的  汉诺塔问题是一个简单的函数递归调用的例子吗?
是我太笨,还是这个递归调用不一般,我理解了一下午,又是演算又是逐步输出,才弄明白!
这种算法是怎么想到的?以后要是遇到这样的问题该从什么地方着手呢?
还有  汉诺塔问题对于游戏编程的意义在哪里?
小弟功力尚浅还望高手指点!

4

主题

212

帖子

212

积分

中级会员

Rank: 3Rank: 3

积分
212
发表于 2010-4-6 09:22:00 | 显示全部楼层

Re:关于汉诺塔问题!(有点初级)

想靠一个问题解决一切不现实。  那个问题  应该就是讲了一下编程当中可以用递归来解决问题。递归有递归的特性。如果你遇到的实际问题  有递归的特性,那么你就可以用递归来解决问题了。

1

主题

10

帖子

22

积分

注册会员

Rank: 2

积分
22
发表于 2010-4-7 16:49:00 | 显示全部楼层

Re: 关于汉诺塔问题!(有点初级)

主要是递归的思想吧,把大问题转化为小问题。
这种算法是极其初级的。有些算法,会让人崩溃。感觉只有上帝才能想到,最初那个人是怎么想出来的?
但是就是有人可以,七十年代很多算法都有突破,理念上的突破,反倒九十年代往后,算法很少有理念上的突破

1

主题

422

帖子

423

积分

中级会员

Rank: 3Rank: 3

积分
423
发表于 2010-4-8 09:51:00 | 显示全部楼层

Re:关于汉诺塔问题!(有点初级)

这个理解起来确实很别扭,别扭就别扭在把n-1个盘子当成一个整体,直接从B移到C,让人感觉很模糊。
其实只要把n-1个盘子这个整体拆分成n-1个个体来理解的话,就会好很多,结果就是将这n-1个盘子抽丝剥茧最后抽象成将一个盘子从B移到C的动作,再扩充成2个,3个,...n-1个。

12

主题

214

帖子

220

积分

中级会员

Rank: 3Rank: 3

积分
220
 楼主| 发表于 2010-4-10 22:27:00 | 显示全部楼层

Re:关于汉诺塔问题!(有点初级)

这是个递归,但是我觉得这不是个普通的递归,它递归了两次,让人理解起来就有点困难!我要不是在纸上一次一次的确定ONR  TWO  THREE  的值   还真是不好搞懂!

2

主题

31

帖子

57

积分

注册会员

Rank: 2

积分
57
发表于 2010-4-14 23:48:00 | 显示全部楼层

Re:关于汉诺塔问题!(有点初级)

knuth<具体数学> ,读读第一章。

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2025-6-12 04:16

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表