如果一个过程(函数、子程序)直接或间接地调用它本身,则称该过程(函数、子程序)是递归的。递归是设计和构造计算机算法的一种基本方法,递归过程必须存在一个递归终止条件,即存在一个“递归出口”,无条件的递归是毫无意义的。( )
举一反三
- 对于递归,下列说法错误的是( ) A: 递归函数可以不需要结束递归过程的条件 B: 一般来说,递归需要有边界条件(或叫递归出口) C: 任何一个递归过程都可以转换成非递归过程 D: 递归程序不能无限制地调用本身,须有个出口
- 在定义一个过程或函数时出现调用本过程或本函数的成分,称为递归。若调用自身,称为直接递归。若过程或函数p调用过程或函数q,而q调用p,称为间接递归。所有的间接递归问题都可以转换成等价的直接递归问题。如果一个递归过程或递归函数中的递归调用语句是最后一条执行语句,则称这种递归调用为尾递归。
- 如果一个递归过程或递归函数中递归调用语句是最后一条执行语句,则称这种递归调用为。
- 关于递归,下列说法不正确的是() A: 递归分为直接递归和间接递归,大多数情况下,间接递归能转换成直接递归 B: 递归必须要有结束递归的出口,否则递归算法就不满足有穷性(有限性) C: 递归往往可以配合分治法或回溯法一起使用 D: 如果一个递归过程或递归函数中递归调用语句是第一条执行语句,则称这种递归调用为尾递归
- 关于递归算法,不正确的是()。 A: 递归就是在过程或函数里调用自身 B: 递归必须有一个明确的结束条件,即递归出口 C: 递归调用可以无条件地进行 D: 递归算法解题通常显得很简洁,但解题的运行效率较低