高分求阿克曼函数的非递归算法

billli007 2002-11-16 08:04:56
阿克曼函数定义如下:


akm(m,n)= n+1 if m=0
akm(m-1,1) if m!=0&&n=0
akm (m-1,akm(m,n-1)) if m!=0&&n!=0
...全文
392 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhaoao 2003-04-04
  • 打赏
  • 举报
回复
应该用递归的!
Riemann 2003-04-03
  • 打赏
  • 举报
回复
用递归做。
panxiongfei 2003-04-03
  • 打赏
  • 举报
回复
那到底怎么做呢
Riemann 2002-11-25
  • 打赏
  • 举报
回复
starfish(海星)没有说错呀,他只是说Ackmann函数没有非递归的形式。
xiaonian_3654 2002-11-23
  • 打赏
  • 举报
回复
他这道题就是出出来,让人越俎代庖,做编译器做的事情!

starfish 2002-11-23
  • 打赏
  • 举报
回复
TO: xiaonian_3654(小周)
那本书上对“非递归”的定义错误
用堆栈来模拟递归,实际上还是递归,只不过你人工做了本来由编译器帮你做的事情!

真正的非递归,应该是不适用辅助堆栈实现的,换句话说就是把递归转化为迭代,或者说算法的空间复杂度应该是O(1) (即算法所用空间与输入规模n无关)。

Ackmann函数不是原始递归函数
这个在30年代左右就被证明了
所以他无法写成非递归的迭代形式
kbsoft 2002-11-22
  • 打赏
  • 举报
回复
确实没有非递归的,并不是所有递归都能该写成非递归的
CForum 2002-11-22
  • 打赏
  • 举报
回复
所有递归都是由堆栈实现的,所以任何的递归都可以由非递归实现。
严蔚敏的《数据结构》书上很清楚的。
关于如何把递归化为非递归《数据结构算法设计》-胡雪钢这本书上请得也是很清楚的。。
xiaonian_3654 2002-11-21
  • 打赏
  • 举报
回复
今天,我看了看北航1999年数据结构的解答
题目是这样的:

1.Ackman(2,1)的计算过程!
2.写出Ackman(m,n)的非递归算法!!!!(海星是不是搞错了)
你可以自己用个辅助栈实现
billli007 2002-11-20
  • 打赏
  • 举报
回复
不会吧?!
xiaonian_3654 2002-11-20
  • 打赏
  • 举报
回复
另外,有好几所学校的专业课考试出过,
xiaonian_3654 2002-11-20
  • 打赏
  • 举报
回复
ackmann函数不是原始递归函数
国防科大的离散数学上讲的很清楚!
那本离散我很喜欢
starfish 2002-11-18
  • 打赏
  • 举报
回复
ackmann函数不存在非递归公式
leojay 2002-11-17
  • 打赏
  • 举报
回复
一定要非递归做什么?
omrhal 2002-11-17
  • 打赏
  • 举报
回复
gz

33,010

社区成员

发帖
与我相关
我的任务
社区描述
数据结构与算法相关内容讨论专区
社区管理员
  • 数据结构与算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧