递归是通过( )来求解问题的编程技术。(2022 年真题)
考点:递归定义(A1)。
(A1)考点:递归定义——递归通过调用自身分解问题,递推自底向上填表,两者可互转。
解析:本题考查递归定义。递归必须有终止条件且参数朝终止靠近,递推需要正确初始条件。递归消耗栈空间可能溢出,递推安全但需要设计转移方程。
排除法:每个错误选项对应一种常见混淆——如忘终止条件、混淆递推方向、忽略栈溢出等。
递归函数中终止条件(base case)的作用是( )。
考点:递归终止条件(A2)。
(A2)考点:递归终止条件——递归通过调用自身分解问题,递推自底向上填表,两者可互转。
解析:本题考查递归终止条件。递归必须有终止条件且参数朝终止靠近,递推需要正确初始条件。递归消耗栈空间可能溢出,递推安全但需要设计转移方程。
排除法:每个错误选项对应一种常见混淆——如忘终止条件、混淆递推方向、忽略栈溢出等。
f(3) 调用 f(2) 调用 f(1),f(1) 返回后执行顺序是( )。
考点:递归调用过程(A3)。
(A3)考点:递归调用过程——递归通过调用自身分解问题,递推自底向上填表,两者可互转。
解析:本题考查递归调用过程。递归必须有终止条件且参数朝终止靠近,递推需要正确初始条件。递归消耗栈空间可能溢出,递推安全但需要设计转移方程。
排除法:每个错误选项对应一种常见混淆——如忘终止条件、混淆递推方向、忽略栈溢出等。
递归函数在计算机内部通过( )管理调用。
考点:递归与系统栈(A4)。
(A4)考点:递归与系统栈——递归通过调用自身分解问题,递推自底向上填表,两者可互转。
解析:本题考查递归与系统栈。递归必须有终止条件且参数朝终止靠近,递推需要正确初始条件。递归消耗栈空间可能溢出,递推安全但需要设计转移方程。
排除法:每个错误选项对应一种常见混淆——如忘终止条件、混淆递推方向、忽略栈溢出等。
f(n) 调用 f(n-1) 直到 f(0),递归深度是( )。
考点:递归深度(A5)。
(A5)考点:递归深度——递归通过调用自身分解问题,递推自底向上填表,两者可互转。
解析:本题考查递归深度。递归必须有终止条件且参数朝终止靠近,递推需要正确初始条件。递归消耗栈空间可能溢出,递推安全但需要设计转移方程。
排除法:每个错误选项对应一种常见混淆——如忘终止条件、混淆递推方向、忽略栈溢出等。
01int f(int n) { return f(n + 1); }
调用 f(0) 的结果是( )。
考点:无终止条件的后果(A6)。
(A6)考点:无终止条件的后果——递归通过调用自身分解问题,递推自底向上填表,两者可互转。
解析:本题考查无终止条件的后果。递归必须有终止条件且参数朝终止靠近,递推需要正确初始条件。递归消耗栈空间可能溢出,递推安全但需要设计转移方程。
排除法:每个错误选项对应一种常见混淆——如忘终止条件、混淆递推方向、忽略栈溢出等。
递归函数设计时每层调用的参数必须( )。
考点:递归参数朝终止靠近(A7)。
(A7)考点:递归参数朝终止靠近——递归通过调用自身分解问题,递推自底向上填表,两者可互转。
解析:本题考查递归参数朝终止靠近。递归必须有终止条件且参数朝终止靠近,递推需要正确初始条件。递归消耗栈空间可能溢出,递推安全但需要设计转移方程。
排除法:每个错误选项对应一种常见混淆——如忘终止条件、混淆递推方向、忽略栈溢出等。
01int g(int n) { 02 if (n <= 0) return 0; 03 return g(n / 2) + n; 04}
g(7) 的返回值是( )。
考点:递归返回值(A8)。
(A8)考点:递归返回值——递归通过调用自身分解问题,递推自底向上填表,两者可互转。
解析:本题考查递归返回值。递归必须有终止条件且参数朝终止靠近,递推需要正确初始条件。递归消耗栈空间可能溢出,递推安全但需要设计转移方程。
排除法:每个错误选项对应一种常见混淆——如忘终止条件、混淆递推方向、忽略栈溢出等。
的递归求和应改用循环,主要原因是( )。
考点:递归与循环选择(A9)。
(A9)考点:递归与循环选择——递归通过调用自身分解问题,递推自底向上填表,两者可互转。
解析:本题考查递归与循环选择。递归必须有终止条件且参数朝终止靠近,递推需要正确初始条件。递归消耗栈空间可能溢出,递推安全但需要设计转移方程。
排除法:每个错误选项对应一种常见混淆——如忘终止条件、混淆递推方向、忽略栈溢出等。
尾递归是指( )。
考点:尾递归概念(A10)。
(A10)考点:尾递归概念——递归通过调用自身分解问题,递推自底向上填表,两者可互转。
解析:本题考查尾递归概念。递归必须有终止条件且参数朝终止靠近,递推需要正确初始条件。递归消耗栈空间可能溢出,递推安全但需要设计转移方程。
排除法:每个错误选项对应一种常见混淆——如忘终止条件、混淆递推方向、忽略栈溢出等。
调试递归最有效的方法是( )。
考点:递归调试方法(A11)。
(A11)考点:递归调试方法——递归通过调用自身分解问题,递推自底向上填表,两者可互转。
解析:本题考查递归调试方法。递归必须有终止条件且参数朝终止靠近,递推需要正确初始条件。递归消耗栈空间可能溢出,递推安全但需要设计转移方程。
排除法:每个错误选项对应一种常见混淆——如忘终止条件、混淆递推方向、忽略栈溢出等。
递归函数的标准代码结构是( )。
考点:递归代码结构(A12)。
(A12)考点:递归代码结构——递归通过调用自身分解问题,递推自底向上填表,两者可互转。
解析:本题考查递归代码结构。递归必须有终止条件且参数朝终止靠近,递推需要正确初始条件。递归消耗栈空间可能溢出,递推安全但需要设计转移方程。
排除法:每个错误选项对应一种常见混淆——如忘终止条件、混淆递推方向、忽略栈溢出等。
递归的优点是( )。
考点:递归优缺点(A13)。
(A13)考点:递归优缺点——递归通过调用自身分解问题,递推自底向上填表,两者可互转。
解析:本题考查递归优缺点。递归必须有终止条件且参数朝终止靠近,递推需要正确初始条件。递归消耗栈空间可能溢出,递推安全但需要设计转移方程。
排除法:每个错误选项对应一种常见混淆——如忘终止条件、混淆递推方向、忽略栈溢出等。
关于递归,错误的是( )。
考点:递归综合判断(A14)。
(A14)考点:递归综合判断——递归通过调用自身分解问题,递推自底向上填表,两者可互转。
解析:本题考查递归综合判断。递归必须有终止条件且参数朝终止靠近,递推需要正确初始条件。递归消耗栈空间可能溢出,递推安全但需要设计转移方程。
排除法:每个错误选项对应一种常见混淆——如忘终止条件、混淆递推方向、忽略栈溢出等。
01int s(int n) { if (n == 0) return 0; return n + s(n - 1); }
s(4) 的返回值是( )。
考点:单路递归求和(B1)。
(B1)考点:单路递归求和——递归通过调用自身分解问题,递推自底向上填表,两者可互转。
解析:本题考查单路递归求和。递归必须有终止条件且参数朝终止靠近,递推需要正确初始条件。递归消耗栈空间可能溢出,递推安全但需要设计转移方程。
排除法:每个错误选项对应一种常见混淆——如忘终止条件、混淆递推方向、忽略栈溢出等。
01int f(int n) { if (n <= 1) return 1; return n * f(n - 1); }
f(5) 的返回值是( )。
考点:递归求阶乘(B2)。
(B2)考点:递归求阶乘——递归通过调用自身分解问题,递推自底向上填表,两者可互转。
解析:本题考查递归求阶乘。递归必须有终止条件且参数朝终止靠近,递推需要正确初始条件。递归消耗栈空间可能溢出,递推安全但需要设计转移方程。
排除法:每个错误选项对应一种常见混淆——如忘终止条件、混淆递推方向、忽略栈溢出等。
递归算法 XYZ(A[1..n]):如果 返回 ;否则 temp ← XYZ(A[1..n-1]),如果 temp < A[n] 返回 temp 否则返回 A[n]。该算法输出的是( )。(2020 年真题)
考点:递归求最小值(B3)。
(B3)考点:递归求最小值——递归通过调用自身分解问题,递推自底向上填表,两者可互转。
解析:本题考查递归求最小值。递归必须有终止条件且参数朝终止靠近,递推需要正确初始条件。递归消耗栈空间可能溢出,递推安全但需要设计转移方程。
排除法:每个错误选项对应一种常见混淆——如忘终止条件、混淆递推方向、忽略栈溢出等。
01int p(int a, int n) { 02 if (n == 0) return 1; 03 return a * p(a, n - 1); 04}
p(2, 3) 的返回值是( )。
考点:递归幂运算(B4)。
(B4)考点:递归幂运算——递归通过调用自身分解问题,递推自底向上填表,两者可互转。
解析:本题考查递归幂运算。递归必须有终止条件且参数朝终止靠近,递推需要正确初始条件。递归消耗栈空间可能溢出,递推安全但需要设计转移方程。
排除法:每个错误选项对应一种常见混淆——如忘终止条件、混淆递推方向、忽略栈溢出等。
01solve(n) 02 if n<=1 return 1 03 else if n>=5 return n*solve(n-2) 04 else return n*solve(n-1)
solve(7) 的返回值是( )。(2021 年真题)
考点:多路递归 solve(B5)。
(B5)考点:多路递归 solve——递归通过调用自身分解问题,递推自底向上填表,两者可互转。
解析:本题考查多路递归 solve。递归必须有终止条件且参数朝终止靠近,递推需要正确初始条件。递归消耗栈空间可能溢出,递推安全但需要设计转移方程。
排除法:每个错误选项对应一种常见混淆——如忘终止条件、混淆递推方向、忽略栈溢出等。
01void p(int n) { 02 if (n == 0) { cout << "*"; return; } 03 p(n - 1); 04 cout << n; 05}
p(3) 输出( )。
考点:递归输出顺序(B6)。
(B6)考点:递归输出顺序——递归通过调用自身分解问题,递推自底向上填表,两者可互转。
解析:本题考查递归输出顺序。递归必须有终止条件且参数朝终止靠近,递推需要正确初始条件。递归消耗栈空间可能溢出,递推安全但需要设计转移方程。
排除法:每个错误选项对应一种常见混淆——如忘终止条件、混淆递推方向、忽略栈溢出等。
01int q(int a, int b) { 02 if (b == 0) return a; 03 return q(b, a % b); 04}
q(12, 8) 的返回值是( )。
考点:递归参数变化(B7)。
(B7)考点:递归参数变化——递归通过调用自身分解问题,递推自底向上填表,两者可互转。
解析:本题考查递归参数变化。递归必须有终止条件且参数朝终止靠近,递推需要正确初始条件。递归消耗栈空间可能溢出,递推安全但需要设计转移方程。
排除法:每个错误选项对应一种常见混淆——如忘终止条件、混淆递推方向、忽略栈溢出等。
01int c(int n) { 02 if (n <= 1) return 1; 03 return c(n - 1) + c(n - 2); 04}
c(5) 的返回值是( )。
考点:递归计数(B8)。
(B8)考点:递归计数——递归通过调用自身分解问题,递推自底向上填表,两者可互转。
解析:本题考查递归计数。递归必须有终止条件且参数朝终止靠近,递推需要正确初始条件。递归消耗栈空间可能溢出,递推安全但需要设计转移方程。
排除法:每个错误选项对应一种常见混淆——如忘终止条件、混淆递推方向、忽略栈溢出等。
01int s(int arr[], int n) { 02 if (n == 0) return 0; 03 return arr[n-1] + s(arr, n-1); 04}
int a[] = {1, 2, 3}; s(a, 3) 返回( )。
考点:递归数组处理(B9)。
(B9)考点:递归数组处理——递归通过调用自身分解问题,递推自底向上填表,两者可互转。
解析:本题考查递归数组处理。递归必须有终止条件且参数朝终止靠近,递推需要正确初始条件。递归消耗栈空间可能溢出,递推安全但需要设计转移方程。
排除法:每个错误选项对应一种常见混淆——如忘终止条件、混淆递推方向、忽略栈溢出等。
01void rev(string& s, int l, int r) { 02 if (l >= r) return; 03 swap(s[l], s[r]); 04 rev(s, l + 1, r - 1); 05}
rev("abc", 0, 2) 后字符串变为( )。
考点:递归字符串反转(B10)。
(B10)考点:递归字符串反转——递归通过调用自身分解问题,递推自底向上填表,两者可互转。
解析:本题考查递归字符串反转。递归必须有终止条件且参数朝终止靠近,递推需要正确初始条件。递归消耗栈空间可能溢出,递推安全但需要设计转移方程。
排除法:每个错误选项对应一种常见混淆——如忘终止条件、混淆递推方向、忽略栈溢出等。
01int bs(int a[], int l, int r, int x) { 02 if (l > r) return -1; 03 int mid = (l + r) / 2; 04 if (a[mid] == x) return mid; 05 if (a[mid] > x) return bs(a, l, mid - 1, x); 06 return bs(a, mid + 1, r, x); 07}
此算法的递归深度(最坏情况)是( )。
考点:递归二分查找(B11)。
(B11)考点:递归二分查找——递归通过调用自身分解问题,递推自底向上填表,两者可互转。
解析:本题考查递归二分查找。递归必须有终止条件且参数朝终止靠近,递推需要正确初始条件。递归消耗栈空间可能溢出,递推安全但需要设计转移方程。
排除法:每个错误选项对应一种常见混淆——如忘终止条件、混淆递推方向、忽略栈溢出等。
01int gcd(int a, int b) { return b == 0 ? a : gcd(b, a % b); }
gcd(48, 36) 递归调用了( )次。
考点:递归gcd(B12)。
(B12)考点:递归gcd——递归通过调用自身分解问题,递推自底向上填表,两者可互转。
解析:本题考查递归gcd。递归必须有终止条件且参数朝终止靠近,递推需要正确初始条件。递归消耗栈空间可能溢出,递推安全但需要设计转移方程。
排除法:每个错误选项对应一种常见混淆——如忘终止条件、混淆递推方向、忽略栈溢出等。
01int fib(int n) { 02 if (n <= 1) return n; 03 return fib(n-1) + fib(n-2); 04}
fib(5) 的总调用次数(含 fib(0) 和 fib(5) 自身)是( )。
考点:递归斐波那契(B13)。
(B13)考点:递归斐波那契——递归通过调用自身分解问题,递推自底向上填表,两者可互转。
解析:本题考查递归斐波那契。递归必须有终止条件且参数朝终止靠近,递推需要正确初始条件。递归消耗栈空间可能溢出,递推安全但需要设计转移方程。
排除法:每个错误选项对应一种常见混淆——如忘终止条件、混淆递推方向、忽略栈溢出等。
01void hanoi(int n, char a, char b, char c) { 02 if (n == 0) return; 03 hanoi(n-1, a, c, b); 04 cout << a << "->" << c << " "; 05 hanoi(n-1, b, a, c); 06}
hanoi(2, 'A', 'B', 'C') 输出( )。
考点:递归汉诺塔输出(B14)。
(B14)考点:递归汉诺塔输出——递归通过调用自身分解问题,递推自底向上填表,两者可互转。
解析:本题考查递归汉诺塔输出。递归必须有终止条件且参数朝终止靠近,递推需要正确初始条件。递归消耗栈空间可能溢出,递推安全但需要设计转移方程。
排除法:每个错误选项对应一种常见混淆——如忘终止条件、混淆递推方向、忽略栈溢出等。
01int f(int n) { 02 if (n > 2) { f(n / 2); cout << n << " "; } 03 else cout << n << " "; 04}
f(12) 输出( )。
考点:递归综合一(B15)。
(B15)考点:递归综合一——递归通过调用自身分解问题,递推自底向上填表,两者可互转。
解析:本题考查递归综合一。递归必须有终止条件且参数朝终止靠近,递推需要正确初始条件。递归消耗栈空间可能溢出,递推安全但需要设计转移方程。
排除法:每个错误选项对应一种常见混淆——如忘终止条件、混淆递推方向、忽略栈溢出等。
01int m(int a, int b) { 02 if (b == 1) return a; 03 return a + m(a, b - 1); 04}
m(3, 4) 的返回值是( )。
考点:递归综合二(B16)。
(B16)考点:递归综合二——递归通过调用自身分解问题,递推自底向上填表,两者可互转。
解析:本题考查递归综合二。递归必须有终止条件且参数朝终止靠近,递推需要正确初始条件。递归消耗栈空间可能溢出,递推安全但需要设计转移方程。
排除法:每个错误选项对应一种常见混淆——如忘终止条件、混淆递推方向、忽略栈溢出等。
分治法的三个步骤是( )。
考点:分治概念(C1)。
(C1)考点:分治概念——递归通过调用自身分解问题,递推自底向上填表,两者可互转。
解析:本题考查分治概念。递归必须有终止条件且参数朝终止靠近,递推需要正确初始条件。递归消耗栈空间可能溢出,递推安全但需要设计转移方程。
排除法:每个错误选项对应一种常见混淆——如忘终止条件、混淆递推方向、忽略栈溢出等。
分治与递归的关系是( )。
考点:分治与递归关系(C2)。
(C2)考点:分治与递归关系——递归通过调用自身分解问题,递推自底向上填表,两者可互转。
解析:本题考查分治与递归关系。递归必须有终止条件且参数朝终止靠近,递推需要正确初始条件。递归消耗栈空间可能溢出,递推安全但需要设计转移方程。
排除法:每个错误选项对应一种常见混淆——如忘终止条件、混淆递推方向、忽略栈溢出等。
分析递归复杂度的"递归树"方法核心是( )。
考点:递归树方法(C3)。
(C3)考点:递归树方法——递归通过调用自身分解问题,递推自底向上填表,两者可互转。
解析:本题考查递归树方法。递归必须有终止条件且参数朝终止靠近,递推需要正确初始条件。递归消耗栈空间可能溢出,递推安全但需要设计转移方程。
排除法:每个错误选项对应一种常见混淆——如忘终止条件、混淆递推方向、忽略栈溢出等。
f(n) 调用 f(n-1)(单分支、每层 )的时间复杂度是( )。
考点:单分支递归复杂度(C4)。
(C4)考点:单分支递归复杂度——递归通过调用自身分解问题,递推自底向上填表,两者可互转。
解析:本题考查单分支递归复杂度。递归必须有终止条件且参数朝终止靠近,递推需要正确初始条件。递归消耗栈空间可能溢出,递推安全但需要设计转移方程。
排除法:每个错误选项对应一种常见混淆——如忘终止条件、混淆递推方向、忽略栈溢出等。
f(n) 调用 f(n/2)(单分支、每层 )的时间复杂度是( )。
考点:二分递归复杂度(C5)。
(C5)考点:二分递归复杂度——递归通过调用自身分解问题,递推自底向上填表,两者可互转。
解析:本题考查二分递归复杂度。递归必须有终止条件且参数朝终止靠近,递推需要正确初始条件。递归消耗栈空间可能溢出,递推安全但需要设计转移方程。
排除法:每个错误选项对应一种常见混淆——如忘终止条件、混淆递推方向、忽略栈溢出等。
fib(n) 调用 fib(n-1) 和 fib(n-2)(双子树)的时间复杂度约是( )。
考点:双子递归复杂度(C6)。
(C6)考点:双子递归复杂度——递归通过调用自身分解问题,递推自底向上填表,两者可互转。
解析:本题考查双子递归复杂度。递归必须有终止条件且参数朝终止靠近,递推需要正确初始条件。递归消耗栈空间可能溢出,递推安全但需要设计转移方程。
排除法:每个错误选项对应一种常见混淆——如忘终止条件、混淆递推方向、忽略栈溢出等。
归并排序的递归式是( )。
考点:归并排序递归(C7)。
(C7)考点:归并排序递归——递归通过调用自身分解问题,递推自底向上填表,两者可互转。
解析:本题考查归并排序递归。递归必须有终止条件且参数朝终止靠近,递推需要正确初始条件。递归消耗栈空间可能溢出,递推安全但需要设计转移方程。
排除法:每个错误选项对应一种常见混淆——如忘终止条件、混淆递推方向、忽略栈溢出等。
快速排序最坏情况的递归式是( )。
考点:快速排序递归(C8)。
(C8)考点:快速排序递归——递归通过调用自身分解问题,递推自底向上填表,两者可互转。
解析:本题考查快速排序递归。递归必须有终止条件且参数朝终止靠近,递推需要正确初始条件。递归消耗栈空间可能溢出,递推安全但需要设计转移方程。
排除法:每个错误选项对应一种常见混淆——如忘终止条件、混淆递推方向、忽略栈溢出等。
分治适用条件不包括( )。
考点:分治适用条件(C9)。
(C9)考点:分治适用条件——递归通过调用自身分解问题,递推自底向上填表,两者可互转。
解析:本题考查分治适用条件。递归必须有终止条件且参数朝终止靠近,递推需要正确初始条件。递归消耗栈空间可能溢出,递推安全但需要设计转移方程。
排除法:每个错误选项对应一种常见混淆——如忘终止条件、混淆递推方向、忽略栈溢出等。
关于分治,错误的是( )。
考点:分治综合(C10)。
(C10)考点:分治综合——递归通过调用自身分解问题,递推自底向上填表,两者可互转。
解析:本题考查分治综合。递归必须有终止条件且参数朝终止靠近,递推需要正确初始条件。递归消耗栈空间可能溢出,递推安全但需要设计转移方程。
排除法:每个错误选项对应一种常见混淆——如忘终止条件、混淆递推方向、忽略栈溢出等。
递推的定义是( )。
考点:递推定义(D1)。
(D1)考点:递推定义——递归通过调用自身分解问题,递推自底向上填表,两者可互转。
解析:本题考查递推定义。递归必须有终止条件且参数朝终止靠近,递推需要正确初始条件。递归消耗栈空间可能溢出,递推安全但需要设计转移方程。
排除法:每个错误选项对应一种常见混淆——如忘终止条件、混淆递推方向、忽略栈溢出等。
递推与递归的关系是( )。
考点:递推与递归关系(D2)。
(D2)考点:递推与递归关系——递归通过调用自身分解问题,递推自底向上填表,两者可互转。
解析:本题考查递推与递归关系。递归必须有终止条件且参数朝终止靠近,递推需要正确初始条件。递归消耗栈空间可能溢出,递推安全但需要设计转移方程。
排除法:每个错误选项对应一种常见混淆——如忘终止条件、混淆递推方向、忽略栈溢出等。
递推 ,。( )。
考点:一阶递推(D3)。
(D3)考点:一阶递推——递归通过调用自身分解问题,递推自底向上填表,两者可互转。
解析:本题考查一阶递推。递归必须有终止条件且参数朝终止靠近,递推需要正确初始条件。递归消耗栈空间可能溢出,递推安全但需要设计转移方程。
排除法:每个错误选项对应一种常见混淆——如忘终止条件、混淆递推方向、忽略栈溢出等。
递推 ,。( )。
考点:二阶递推(D4)。
(D4)考点:二阶递推——递归通过调用自身分解问题,递推自底向上填表,两者可互转。
解析:本题考查二阶递推。递归必须有终止条件且参数朝终止靠近,递推需要正确初始条件。递归消耗栈空间可能溢出,递推安全但需要设计转移方程。
排除法:每个错误选项对应一种常见混淆——如忘终止条件、混淆递推方向、忽略栈溢出等。
递推 , 得斐波那契;改为 得( )。
考点:递推初始条件(D5)。
(D5)考点:递推初始条件——递归通过调用自身分解问题,递推自底向上填表,两者可互转。
解析:本题考查递推初始条件。递归必须有终止条件且参数朝终止靠近,递推需要正确初始条件。递归消耗栈空间可能溢出,递推安全但需要设计转移方程。
排除法:每个错误选项对应一种常见混淆——如忘终止条件、混淆递推方向、忽略栈溢出等。
递推编程的标准框架是( )。
考点:递推编程框架(D6)。
(D6)考点:递推编程框架——递归通过调用自身分解问题,递推自底向上填表,两者可互转。
解析:本题考查递推编程框架。递归必须有终止条件且参数朝终止靠近,递推需要正确初始条件。递归消耗栈空间可能溢出,递推安全但需要设计转移方程。
排除法:每个错误选项对应一种常见混淆——如忘终止条件、混淆递推方向、忽略栈溢出等。
递推 ,。( )。
考点:递推数组填充(D7)。
(D7)考点:递推数组填充——递归通过调用自身分解问题,递推自底向上填表,两者可互转。
解析:本题考查递推数组填充。递归必须有终止条件且参数朝终止靠近,递推需要正确初始条件。递归消耗栈空间可能溢出,递推安全但需要设计转移方程。
排除法:每个错误选项对应一种常见混淆——如忘终止条件、混淆递推方向、忽略栈溢出等。
递推 ()的通项公式是( )。
考点:递推求通项概念(D8)。
(D8)考点:递推求通项概念——递归通过调用自身分解问题,递推自底向上填表,两者可互转。
解析:本题考查递推求通项概念。递归必须有终止条件且参数朝终止靠近,递推需要正确初始条件。递归消耗栈空间可能溢出,递推安全但需要设计转移方程。
排除法:每个错误选项对应一种常见混淆——如忘终止条件、混淆递推方向、忽略栈溢出等。
斐波那契 。int(上限约 )( )存下。
考点:递推溢出判断(D9)。
(D9)考点:递推溢出判断——递归通过调用自身分解问题,递推自底向上填表,两者可互转。
解析:本题考查递推溢出判断。递归必须有终止条件且参数朝终止靠近,递推需要正确初始条件。递归消耗栈空间可能溢出,递推安全但需要设计转移方程。
排除法:每个错误选项对应一种常见混淆——如忘终止条件、混淆递推方向、忽略栈溢出等。
递推 只需前两项,不开数组只保留两个变量的做法叫( )。
考点:递推空间优化(D10)。
(D10)考点:递推空间优化——递归通过调用自身分解问题,递推自底向上填表,两者可互转。
解析:本题考查递推空间优化。递归必须有终止条件且参数朝终止靠近,递推需要正确初始条件。递归消耗栈空间可能溢出,递推安全但需要设计转移方程。
排除法:每个错误选项对应一种常见混淆——如忘终止条件、混淆递推方向、忽略栈溢出等。
递推与动态规划的关系是( )。
考点:递推与DP关系(D11)。
(D11)考点:递推与DP关系——递归通过调用自身分解问题,递推自底向上填表,两者可互转。
解析:本题考查递推与DP关系。递归必须有终止条件且参数朝终止靠近,递推需要正确初始条件。递归消耗栈空间可能溢出,递推安全但需要设计转移方程。
排除法:每个错误选项对应一种常见混淆——如忘终止条件、混淆递推方向、忽略栈溢出等。
递推 从 开始循环(、 已初始化)( )。
考点:递推边界检查(D12)。
(D12)考点:递推边界检查——递归通过调用自身分解问题,递推自底向上填表,两者可互转。
解析:本题考查递推边界检查。递归必须有终止条件且参数朝终止靠近,递推需要正确初始条件。递归消耗栈空间可能溢出,递推安全但需要设计转移方程。
排除法:每个错误选项对应一种常见混淆——如忘终止条件、混淆递推方向、忽略栈溢出等。
递推 (),( )。
考点:递推综合一(D13)。
(D13)考点:递推综合一——递归通过调用自身分解问题,递推自底向上填表,两者可互转。
解析:本题考查递推综合一。递归必须有终止条件且参数朝终止靠近,递推需要正确初始条件。递归消耗栈空间可能溢出,递推安全但需要设计转移方程。
排除法:每个错误选项对应一种常见混淆——如忘终止条件、混淆递推方向、忽略栈溢出等。
关于递推,错误的是( )。
考点:递推综合二(D14)。
(D14)考点:递推综合二——递归通过调用自身分解问题,递推自底向上填表,两者可互转。
解析:本题考查递推综合二。递归必须有终止条件且参数朝终止靠近,递推需要正确初始条件。递归消耗栈空间可能溢出,递推安全但需要设计转移方程。
排除法:每个错误选项对应一种常见混淆——如忘终止条件、混淆递推方向、忽略栈溢出等。
斐波那契数列的定义是( )。
考点:斐波那契定义(E1)。
(E1)考点:斐波那契定义——递归通过调用自身分解问题,递推自底向上填表,两者可互转。
解析:本题考查斐波那契定义。递归必须有终止条件且参数朝终止靠近,递推需要正确初始条件。递归消耗栈空间可能溢出,递推安全但需要设计转移方程。
排除法:每个错误选项对应一种常见混淆——如忘终止条件、混淆递推方向、忽略栈溢出等。
斐波那契 。( )。
考点:斐波那契递推计算(E2)。
(E2)考点:斐波那契递推计算——递归通过调用自身分解问题,递推自底向上填表,两者可互转。
解析:本题考查斐波那契递推计算。递归必须有终止条件且参数朝终止靠近,递推需要正确初始条件。递归消耗栈空间可能溢出,递推安全但需要设计转移方程。
排除法:每个错误选项对应一种常见混淆——如忘终止条件、混淆递推方向、忽略栈溢出等。
递推 ,。( )。
考点:斐波那契变式一(E3)。
(E3)考点:斐波那契变式一——递归通过调用自身分解问题,递推自底向上填表,两者可互转。
解析:本题考查斐波那契变式一。递归必须有终止条件且参数朝终止靠近,递推需要正确初始条件。递归消耗栈空间可能溢出,递推安全但需要设计转移方程。
排除法:每个错误选项对应一种常见混淆——如忘终止条件、混淆递推方向、忽略栈溢出等。
递推 ,。( )。
考点:斐波那契变式二(E4)。
(E4)考点:斐波那契变式二——递归通过调用自身分解问题,递推自底向上填表,两者可互转。
解析:本题考查斐波那契变式二。递归必须有终止条件且参数朝终止靠近,递推需要正确初始条件。递归消耗栈空间可能溢出,递推安全但需要设计转移方程。
排除法:每个错误选项对应一种常见混淆——如忘终止条件、混淆递推方向、忽略栈溢出等。
每次上 或 阶台阶,上 阶的方法数 ( )。
考点:爬楼梯问题(E5)。
(E5)考点:爬楼梯问题——递归通过调用自身分解问题,递推自底向上填表,两者可互转。
解析:本题考查爬楼梯问题。递归必须有终止条件且参数朝终止靠近,递推需要正确初始条件。递归消耗栈空间可能溢出,递推安全但需要设计转移方程。
排除法:每个错误选项对应一种常见混淆——如忘终止条件、混淆递推方向、忽略栈溢出等。
每次上 、 或 阶台阶,上 阶的方法数递推是( )。
考点:爬楼梯变式(E6)。
(E6)考点:爬楼梯变式——递归通过调用自身分解问题,递推自底向上填表,两者可互转。
解析:本题考查爬楼梯变式。递归必须有终止条件且参数朝终止靠近,递推需要正确初始条件。递归消耗栈空间可能溢出,递推安全但需要设计转移方程。
排除法:每个错误选项对应一种常见混淆——如忘终止条件、混淆递推方向、忽略栈溢出等。
long long 可存到 。斐波那契第( )项开始超 long long。
考点:斐波那契溢出(E7)。
(E7)考点:斐波那契溢出——递归通过调用自身分解问题,递推自底向上填表,两者可互转。
解析:本题考查斐波那契溢出。递归必须有终止条件且参数朝终止靠近,递推需要正确初始条件。递归消耗栈空间可能溢出,递推安全但需要设计转移方程。
排除法:每个错误选项对应一种常见混淆——如忘终止条件、混淆递推方向、忽略栈溢出等。
朴素斐波那契递归 fib(40) 在普通电脑上( )。
考点:斐波那契递归复杂度(E8)。
(E8)考点:斐波那契递归复杂度——递归通过调用自身分解问题,递推自底向上填表,两者可互转。
解析:本题考查斐波那契递归复杂度。递归必须有终止条件且参数朝终止靠近,递推需要正确初始条件。递归消耗栈空间可能溢出,递推安全但需要设计转移方程。
排除法:每个错误选项对应一种常见混淆——如忘终止条件、混淆递推方向、忽略栈溢出等。
斐波那契从递归 优化到迭代 的关键是( )。
考点:斐波那契迭代优化(E9)。
(E9)考点:斐波那契迭代优化——递归通过调用自身分解问题,递推自底向上填表,两者可互转。
解析:本题考查斐波那契迭代优化。递归必须有终止条件且参数朝终止靠近,递推需要正确初始条件。递归消耗栈空间可能溢出,递推安全但需要设计转移方程。
排除法:每个错误选项对应一种常见混淆——如忘终止条件、混淆递推方向、忽略栈溢出等。
Lucas 数列 ,。( )。
考点:Lucas数列(E10)。
(E10)考点:Lucas数列——递归通过调用自身分解问题,递推自底向上填表,两者可互转。
解析:本题考查Lucas数列。递归必须有终止条件且参数朝终止靠近,递推需要正确初始条件。递归消耗栈空间可能溢出,递推安全但需要设计转移方程。
排除法:每个错误选项对应一种常见混淆——如忘终止条件、混淆递推方向、忽略栈溢出等。
斐波那契数列相邻两项的比值 趋近于( )。
考点:斐波那契性质(E11)。
(E11)考点:斐波那契性质——递归通过调用自身分解问题,递推自底向上填表,两者可互转。
解析:本题考查斐波那契性质。递归必须有终止条件且参数朝终止靠近,递推需要正确初始条件。递归消耗栈空间可能溢出,递推安全但需要设计转移方程。
排除法:每个错误选项对应一种常见混淆——如忘终止条件、混淆递推方向、忽略栈溢出等。
关于斐波那契数列,错误的是( )。
考点:斐波那契综合(E12)。
(E12)考点:斐波那契综合——递归通过调用自身分解问题,递推自底向上填表,两者可互转。
解析:本题考查斐波那契综合。递归必须有终止条件且参数朝终止靠近,递推需要正确初始条件。递归消耗栈空间可能溢出,递推安全但需要设计转移方程。
排除法:每个错误选项对应一种常见混淆——如忘终止条件、混淆递推方向、忽略栈溢出等。
汉诺塔问题: 个盘子从 A 移到 C(借助 B),每次移一个、大盘不能在小盘上面。至少需要( )次移动。
考点:汉诺塔问题定义(F1)。
(F1)考点:汉诺塔问题定义——递归通过调用自身分解问题,递推自底向上填表,两者可互转。
解析:本题考查汉诺塔问题定义。递归必须有终止条件且参数朝终止靠近,递推需要正确初始条件。递归消耗栈空间可能溢出,递推安全但需要设计转移方程。
排除法:每个错误选项对应一种常见混淆——如忘终止条件、混淆递推方向、忽略栈溢出等。
汉诺塔递推 ,。( )。
考点:汉诺塔递推公式(F2)。
(F2)考点:汉诺塔递推公式——递归通过调用自身分解问题,递推自底向上填表,两者可互转。
解析:本题考查汉诺塔递推公式。递归必须有终止条件且参数朝终止靠近,递推需要正确初始条件。递归消耗栈空间可能溢出,递推安全但需要设计转移方程。
排除法:每个错误选项对应一种常见混淆——如忘终止条件、混淆递推方向、忽略栈溢出等。
汉诺塔递归的正确代码结构是( )。
考点:汉诺塔递归代码(F3)。
(F3)考点:汉诺塔递归代码——递归通过调用自身分解问题,递推自底向上填表,两者可互转。
解析:本题考查汉诺塔递归代码。递归必须有终止条件且参数朝终止靠近,递推需要正确初始条件。递归消耗栈空间可能溢出,递推安全但需要设计转移方程。
排除法:每个错误选项对应一种常见混淆——如忘终止条件、混淆递推方向、忽略栈溢出等。
汉诺塔 (A→C 借助 B),移动序列是( )。
考点:汉诺塔 n=2 移动序列(F4)。
(F4)考点:汉诺塔 n=2 移动序列——递归通过调用自身分解问题,递推自底向上填表,两者可互转。
解析:本题考查汉诺塔 n=2 移动序列。递归必须有终止条件且参数朝终止靠近,递推需要正确初始条件。递归消耗栈空间可能溢出,递推安全但需要设计转移方程。
排除法:每个错误选项对应一种常见混淆——如忘终止条件、混淆递推方向、忽略栈溢出等。
汉诺塔 至少需要( )次移动。
考点:汉诺塔 n=3 移动次数(F5)。
(F5)考点:汉诺塔 n=3 移动次数——递归通过调用自身分解问题,递推自底向上填表,两者可互转。
解析:本题考查汉诺塔 n=3 移动次数。递归必须有终止条件且参数朝终止靠近,递推需要正确初始条件。递归消耗栈空间可能溢出,递推安全但需要设计转移方程。
排除法:每个错误选项对应一种常见混淆——如忘终止条件、混淆递推方向、忽略栈溢出等。
汉诺塔递归 hanoi(n, src, tmp, tgt) 中第二参数和第三参数的含义是( )。
考点:汉诺塔代码追踪(F6)。
(F6)考点:汉诺塔代码追踪——递归通过调用自身分解问题,递推自底向上填表,两者可互转。
解析:本题考查汉诺塔代码追踪。递归必须有终止条件且参数朝终止靠近,递推需要正确初始条件。递归消耗栈空间可能溢出,递推安全但需要设计转移方程。
排除法:每个错误选项对应一种常见混淆——如忘终止条件、混淆递推方向、忽略栈溢出等。
汉诺塔的时间复杂度是( )。
考点:汉诺塔复杂度(F7)。
(F7)考点:汉诺塔复杂度——递归通过调用自身分解问题,递推自底向上填表,两者可互转。
解析:本题考查汉诺塔复杂度。递归必须有终止条件且参数朝终止靠近,递推需要正确初始条件。递归消耗栈空间可能溢出,递推安全但需要设计转移方程。
排除法:每个错误选项对应一种常见混淆——如忘终止条件、混淆递推方向、忽略栈溢出等。
汉诺塔递归的正确性来自:把 盘问题分解为( )。
考点:汉诺塔正确性(F8)。
(F8)考点:汉诺塔正确性——递归通过调用自身分解问题,递推自底向上填表,两者可互转。
解析:本题考查汉诺塔正确性。递归必须有终止条件且参数朝终止靠近,递推需要正确初始条件。递归消耗栈空间可能溢出,递推安全但需要设计转移方程。
排除法:每个错误选项对应一种常见混淆——如忘终止条件、混淆递推方向、忽略栈溢出等。
汉诺塔在竞赛中的典型意义是( )。
考点:汉诺塔应用(F9)。
(F9)考点:汉诺塔应用——递归通过调用自身分解问题,递推自底向上填表,两者可互转。
解析:本题考查汉诺塔应用。递归必须有终止条件且参数朝终止靠近,递推需要正确初始条件。递归消耗栈空间可能溢出,递推安全但需要设计转移方程。
排除法:每个错误选项对应一种常见混淆——如忘终止条件、混淆递推方向、忽略栈溢出等。
关于汉诺塔,错误的是( )。
考点:汉诺塔综合(F10)。
(F10)考点:汉诺塔综合——递归通过调用自身分解问题,递推自底向上填表,两者可互转。
解析:本题考查汉诺塔综合。递归必须有终止条件且参数朝终止靠近,递推需要正确初始条件。递归消耗栈空间可能溢出,递推安全但需要设计转移方程。
排除法:每个错误选项对应一种常见混淆——如忘终止条件、混淆递推方向、忽略栈溢出等。
递归 ()改写为循环是( )。
考点:递归转循环(G1)。
(G1)考点:递归转循环——递归通过调用自身分解问题,递推自底向上填表,两者可互转。
解析:本题考查递归转循环。递归必须有终止条件且参数朝终止靠近,递推需要正确初始条件。递归消耗栈空间可能溢出,递推安全但需要设计转移方程。
排除法:每个错误选项对应一种常见混淆——如忘终止条件、混淆递推方向、忽略栈溢出等。
递推 改写为递归是( )。
考点:递推转递归(G2)。
(G2)考点:递推转递归——递归通过调用自身分解问题,递推自底向上填表,两者可互转。
解析:本题考查递推转递归。递归必须有终止条件且参数朝终止靠近,递推需要正确初始条件。递归消耗栈空间可能溢出,递推安全但需要设计转移方程。
排除法:每个错误选项对应一种常见混淆——如忘终止条件、混淆递推方向、忽略栈溢出等。
递归相对递推的优缺点是( )。
考点:递归与递推优缺点(G3)。
(G3)考点:递归与递推优缺点——递归通过调用自身分解问题,递推自底向上填表,两者可互转。
解析:本题考查递归与递推优缺点。递归必须有终止条件且参数朝终止靠近,递推需要正确初始条件。递归消耗栈空间可能溢出,递推安全但需要设计转移方程。
排除法:每个错误选项对应一种常见混淆——如忘终止条件、混淆递推方向、忽略栈溢出等。
选择递归还是递推的主要依据是( )。
考点:选择依据(G4)。
(G4)考点:选择依据——递归通过调用自身分解问题,递推自底向上填表,两者可互转。
解析:本题考查选择依据。递归必须有终止条件且参数朝终止靠近,递推需要正确初始条件。递归消耗栈空间可能溢出,递推安全但需要设计转移方程。
排除法:每个错误选项对应一种常见混淆——如忘终止条件、混淆递推方向、忽略栈溢出等。
递归深度 的函数要避免栈溢出,正确做法是( )。
考点:递归栈溢出改循环(G5)。
(G5)考点:递归栈溢出改循环——递归通过调用自身分解问题,递推自底向上填表,两者可互转。
解析:本题考查递归栈溢出改循环。递归必须有终止条件且参数朝终止靠近,递推需要正确初始条件。递归消耗栈空间可能溢出,递推安全但需要设计转移方程。
排除法:每个错误选项对应一种常见混淆——如忘终止条件、混淆递推方向、忽略栈溢出等。
用递推表填充替代递归的好处是( )。
考点:递推表填充替代递归(G6)。
(G6)考点:递推表填充替代递归——递归通过调用自身分解问题,递推自底向上填表,两者可互转。
解析:本题考查递推表填充替代递归。递归必须有终止条件且参数朝终止靠近,递推需要正确初始条件。递归消耗栈空间可能溢出,递推安全但需要设计转移方程。
排除法:每个错误选项对应一种常见混淆——如忘终止条件、混淆递推方向、忽略栈溢出等。
记忆化递归的核心是( )。
考点:记忆化递归(G7)。
(G7)考点:记忆化递归——递归通过调用自身分解问题,递推自底向上填表,两者可互转。
解析:本题考查记忆化递归。递归必须有终止条件且参数朝终止靠近,递推需要正确初始条件。递归消耗栈空间可能溢出,递推安全但需要设计转移方程。
排除法:每个错误选项对应一种常见混淆——如忘终止条件、混淆递推方向、忽略栈溢出等。
斐波那契从递归转递推后时间复杂度从 变为( )。
考点:递归转递推实例(G8)。
(G8)考点:递归转递推实例——递归通过调用自身分解问题,递推自底向上填表,两者可互转。
解析:本题考查递归转递推实例。递归必须有终止条件且参数朝终止靠近,递推需要正确初始条件。递归消耗栈空间可能溢出,递推安全但需要设计转移方程。
排除法:每个错误选项对应一种常见混淆——如忘终止条件、混淆递推方向、忽略栈溢出等。
递推 ()转递归的正确写法是( )。
考点:递推转递归实例(G9)。
(G9)考点:递推转递归实例——递归通过调用自身分解问题,递推自底向上填表,两者可互转。
解析:本题考查递推转递归实例。递归必须有终止条件且参数朝终止靠近,递推需要正确初始条件。递归消耗栈空间可能溢出,递推安全但需要设计转移方程。
排除法:每个错误选项对应一种常见混淆——如忘终止条件、混淆递推方向、忽略栈溢出等。
关于递归与递推互转,错误的是( )。
考点:互转综合(G10)。
(G10)考点:互转综合——递归通过调用自身分解问题,递推自底向上填表,两者可互转。
解析:本题考查互转综合。递归必须有终止条件且参数朝终止靠近,递推需要正确初始条件。递归消耗栈空间可能溢出,递推安全但需要设计转移方程。
排除法:每个错误选项对应一种常见混淆——如忘终止条件、混淆递推方向、忽略栈溢出等。
倍增法的核心思想是( )。
考点:倍增概念(H1)。
(H1)考点:倍增概念——递归通过调用自身分解问题,递推自底向上填表,两者可互转。
解析:本题考查倍增概念。递归必须有终止条件且参数朝终止靠近,递推需要正确初始条件。递归消耗栈空间可能溢出,递推安全但需要设计转移方程。
排除法:每个错误选项对应一种常见混淆——如忘终止条件、混淆递推方向、忽略栈溢出等。
快速幂 用倍增思想,复杂度是( )。
考点:倍增与快速幂(H2)。
(H2)考点:倍增与快速幂——递归通过调用自身分解问题,递推自底向上填表,两者可互转。
解析:本题考查倍增与快速幂。递归必须有终止条件且参数朝终止靠近,递推需要正确初始条件。递归消耗栈空间可能溢出,递推安全但需要设计转移方程。
排除法:每个错误选项对应一种常见混淆——如忘终止条件、混淆递推方向、忽略栈溢出等。
倍增求 LCA 时 fa[j][u] 的含义是( )。
考点:倍增求LCA(H3)。
(H3)考点:倍增求LCA——递归通过调用自身分解问题,递推自底向上填表,两者可互转。
解析:本题考查倍增求LCA。递归必须有终止条件且参数朝终止靠近,递推需要正确初始条件。递归消耗栈空间可能溢出,递推安全但需要设计转移方程。
排除法:每个错误选项对应一种常见混淆——如忘终止条件、混淆递推方向、忽略栈溢出等。
倍增法预处理 个结点、 层跳转表的空间复杂度是( )。
考点:倍增复杂度(H4)。
(H4)考点:倍增复杂度——递归通过调用自身分解问题,递推自底向上填表,两者可互转。
解析:本题考查倍增复杂度。递归必须有终止条件且参数朝终止靠近,递推需要正确初始条件。递归消耗栈空间可能溢出,递推安全但需要设计转移方程。
排除法:每个错误选项对应一种常见混淆——如忘终止条件、混淆递推方向、忽略栈溢出等。
倍增预处理代码的核心递推是( )。
考点:倍增代码框架(H5)。
(H5)考点:倍增代码框架——递归通过调用自身分解问题,递推自底向上填表,两者可互转。
解析:本题考查倍增代码框架。递归必须有终止条件且参数朝终止靠近,递推需要正确初始条件。递归消耗栈空间可能溢出,递推安全但需要设计转移方程。
排除法:每个错误选项对应一种常见混淆——如忘终止条件、混淆递推方向、忽略栈溢出等。
关于倍增法,错误的是( )。
考点:倍增综合(H6)。
(H6)考点:倍增综合——递归通过调用自身分解问题,递推自底向上填表,两者可互转。
解析:本题考查倍增综合。递归必须有终止条件且参数朝终止靠近,递推需要正确初始条件。递归消耗栈空间可能溢出,递推安全但需要设计转移方程。
排除法:每个错误选项对应一种常见混淆——如忘终止条件、混淆递推方向、忽略栈溢出等。
递归函数的终止条件( )。
考点:综合判断一(I1)。
(I1)考点:综合判断一——递归通过调用自身分解问题,递推自底向上填表,两者可互转。
解析:本题考查综合判断一。递归必须有终止条件且参数朝终止靠近,递推需要正确初始条件。递归消耗栈空间可能溢出,递推安全但需要设计转移方程。
排除法:每个错误选项对应一种常见混淆——如忘终止条件、混淆递推方向、忽略栈溢出等。
递推与递归的主要区别是( )。
考点:综合判断二(I2)。
(I2)考点:综合判断二——递归通过调用自身分解问题,递推自底向上填表,两者可互转。
解析:本题考查综合判断二。递归必须有终止条件且参数朝终止靠近,递推需要正确初始条件。递归消耗栈空间可能溢出,递推安全但需要设计转移方程。
排除法:每个错误选项对应一种常见混淆——如忘终止条件、混淆递推方向、忽略栈溢出等。
斐波那契递归 fib(30) 慢的原因是( )。
考点:综合判断三(I3)。
(I3)考点:综合判断三——递归通过调用自身分解问题,递推自底向上填表,两者可互转。
解析:本题考查综合判断三。递归必须有终止条件且参数朝终止靠近,递推需要正确初始条件。递归消耗栈空间可能溢出,递推安全但需要设计转移方程。
排除法:每个错误选项对应一种常见混淆——如忘终止条件、混淆递推方向、忽略栈溢出等。
汉诺塔 ,( )。
考点:综合判断四(I4)。
(I4)考点:综合判断四——递归通过调用自身分解问题,递推自底向上填表,两者可互转。
解析:本题考查综合判断四。递归必须有终止条件且参数朝终止靠近,递推需要正确初始条件。递归消耗栈空间可能溢出,递推安全但需要设计转移方程。
排除法:每个错误选项对应一种常见混淆——如忘终止条件、混淆递推方向、忽略栈溢出等。
关于倍增,正确的是( )。
考点:综合判断五(I5)。
(I5)考点:综合判断五——递归通过调用自身分解问题,递推自底向上填表,两者可互转。
解析:本题考查综合判断五。递归必须有终止条件且参数朝终止靠近,递推需要正确初始条件。递归消耗栈空间可能溢出,递推安全但需要设计转移方程。
排除法:每个错误选项对应一种常见混淆——如忘终止条件、混淆递推方向、忽略栈溢出等。
递归深度 的函数可能发生( )。
考点:综合判断六(I6)。
(I6)考点:综合判断六——递归通过调用自身分解问题,递推自底向上填表,两者可互转。
解析:本题考查综合判断六。递归必须有终止条件且参数朝终止靠近,递推需要正确初始条件。递归消耗栈空间可能溢出,递推安全但需要设计转移方程。
排除法:每个错误选项对应一种常见混淆——如忘终止条件、混淆递推方向、忽略栈溢出等。
递推 (),( )。
考点:综合判断七(I7)。
(I7)考点:综合判断七——递归通过调用自身分解问题,递推自底向上填表,两者可互转。
解析:本题考查综合判断七。递归必须有终止条件且参数朝终止靠近,递推需要正确初始条件。递归消耗栈空间可能溢出,递推安全但需要设计转移方程。
排除法:每个错误选项对应一种常见混淆——如忘终止条件、混淆递推方向、忽略栈溢出等。
关于递归与递推,错误的是( )。
考点:综合判断八(I8)。
(I8)考点:综合判断八——递归通过调用自身分解问题,递推自底向上填表,两者可互转。
解析:本题考查综合判断八。递归必须有终止条件且参数朝终止靠近,递推需要正确初始条件。递归消耗栈空间可能溢出,递推安全但需要设计转移方程。
排除法:每个错误选项对应一种常见混淆——如忘终止条件、混淆递推方向、忽略栈溢出等。