关于递归,下列说法不正确的是()
A: 递归分为直接递归和间接递归,大多数情况下,间接递归能转换成直接递归
B: 递归必须要有结束递归的出口,否则递归算法就不满足有穷性(有限性)
C: 递归往往可以配合分治法或回溯法一起使用
D: 如果一个递归过程或递归函数中递归调用语句是第一条执行语句,则称这种递归调用为尾递归
A: 递归分为直接递归和间接递归,大多数情况下,间接递归能转换成直接递归
B: 递归必须要有结束递归的出口,否则递归算法就不满足有穷性(有限性)
C: 递归往往可以配合分治法或回溯法一起使用
D: 如果一个递归过程或递归函数中递归调用语句是第一条执行语句,则称这种递归调用为尾递归
D
举一反三
- 在定义一个过程或函数时出现调用本过程或本函数的成分,称为递归。若调用自身,称为直接递归。若过程或函数p调用过程或函数q,而q调用p,称为间接递归。所有的间接递归问题都可以转换成等价的直接递归问题。如果一个递归过程或递归函数中的递归调用语句是最后一条执行语句,则称这种递归调用为尾递归。
- 如果一个递归过程或递归函数中递归调用语句是最后一条执行语句,则称这种递归调用为。
- 以下关于程序中各函数之间调用说法中不正确的是() A: 既允许直接递归调用也允许间接递归调用 B: 不允许直接递归调用也不允许间接递归调用 C: 允许直接递归调用不允许间接递归调用 D: 不允许直接递归调用允许间接递归调用
- 在C语言中,下列描述函数之间递归调用关系正确的是() A: 不允许直接递归调用,也不允许间接递归调用 B: 允许直接递归调用,不允许间接递归调用 C: 不允许直接递归调用,允许间接递归调用 D: 允许直接递归调用,也允许间接递归调用
- 如果一个递归函数过程中只有一个递归语句,而且它是过程体的最后语句,则这种递归属于(),它很容易被改写为非递归过程。 A: 单向递归 B: 回溯递归 C: 间接递归 D: 尾递归
内容
- 0
c语言规定,程序中各函数之间( ) A: 即允许直接递归也允许间接递归调用 B: 不允许直接递归也不允许间接递归调用 C: 即允许直接递归不允许间接递归调用 D: 不允许直接递归允许间接递归调用
- 1
C语言中,程序中各函数之间() A: 允许直接递归调用不允许间接递归调用 B: 不允许直接递归调用也不允许间接递归调用 C: 既允许直接递归调用也允许间接递归调用 D: 不允许直接递归调用允许间接递归调用
- 2
C语言规定,除主函数外,程序中个函数之间() A: 既允许直接递归调用也允许间接递归调用 B: 不允许直接递归调用也不允许间接递归调用 C: 允许直接递归调用不允许间接递归调用 D: 不允许直接递归调用允许简介递归调用
- 3
在 C 语言中,下列说法正确的是( )。 A: 函数之间既允许直接递归调用也允许间接递归调用 B: 函数之间允许直接递归调用但不允许间接递归调用 C: 函数之间不允许直接递归调用但允许间接递归调用 D: 函数之间既不允许直接递归调用也不允许间接递归调用
- 4
递归调用分为直接递归和间接递归两种方式