什么是递归?

举个例子吧.
[6 byte] By [pbnh] at [2007-12-11]
# 1
说清楚一些
china_hfz-江夏 at 2007-10-24 > top of Msdn China Tech,PowerBuilder,基础类...
# 2
我不知道递归是什么,所以来问问,是个算法,还是个函数,还是个什么?
pbnh at 2007-10-24 > top of Msdn China Tech,PowerBuilder,基础类...
# 3
是一个算法。
Iwant-天狼 at 2007-10-24 > top of Msdn China Tech,PowerBuilder,基础类...
# 4
递归即不是算法,也不是函数。
它是一种方法,一种思考问题、解决问题的方法。
bjay-ben at 2007-10-24 > top of Msdn China Tech,PowerBuilder,基础类...
# 5
不明白,能否详细说一下.
pbnh at 2007-10-24 > top of Msdn China Tech,PowerBuilder,基础类...
# 6
函数自身调用
我不懂powerbuild写个c
//阶乘函数
double ji(int x)
{
if(x!=0||x!=1)
{ return ji(x-1)*x;}
else
{return 1;}
}

'basic
function ji(x as integer)as double
if x<>0 or x<>1 then
ji=ji(x-1)*x
else
ji=1
end if
end function
tg123-T.G. at 2007-10-24 > top of Msdn China Tech,PowerBuilder,基础类...
# 7
递归可以称得上是一种算法,由于时间的关系,我就不详细解说了,打个比方:山上有座庙,庙里有个老和尚在给小和尚讲故事,故事的内容是:山上有座庙,庙里有个老和尚在给小和尚讲故事,故事的内容是:山上有座庙,庙里有个老和尚在给小和尚讲故事,故事的内容是:.....直到有一天,故事里面的和尚不想讲了,就一连串向上返回。
要把握两个要点:1。什么时候完(递归条件)
2。讲什么故事,就是算法里面反反复复的要做什么。
qyokcn at 2007-10-24 > top of Msdn China Tech,PowerBuilder,基础类...
# 8
呵呵,说得好
viewsea-viewsea at 2007-10-24 > top of Msdn China Tech,PowerBuilder,基础类...
# 9

同意 qyokcn() 所言。
递归时,每次调用该算法,所有私有变量都保留一份,因此,要特别注意变量的存取范围,免得自己搞昏了。

liulee-流方 at 2007-10-24 > top of Msdn China Tech,PowerBuilder,基础类...
# 10
比喻恰当!
liuxiang-流香 at 2007-10-24 > top of Msdn China Tech,PowerBuilder,基础类...
# 11
大家说得都不错啊
pingkeke-pingkeke at 2007-10-24 > top of Msdn China Tech,PowerBuilder,基础类...
# 12
解决一个问题需要-个或几个算法,一个算法有程序实现中需要一个或几个函数。
但递归的确不是算法或函数。

我想大家应该都知道“数学归纳法”这个从高中就已经在使用的方法。
它本身就是一个递归的方法。

我想这样解释,大家应该对递归有个初步了解。
知道这些在应用中也可以了,要详细了解递归,需要看数学专业的“递归论”
我没看:-)
bjay-ben at 2007-10-24 > top of Msdn China Tech,PowerBuilder,基础类...
# 13
就是对自己的一个调用
xiaosong20-寒雨 at 2007-10-24 > top of Msdn China Tech,PowerBuilder,基础类...
# 14
同意楼上兄弟们的意见
general2000-大小统吃 at 2007-10-24 > top of Msdn China Tech,PowerBuilder,基础类...