递归算法入门练习题单
知识准备
由易到难,练习题分五价段:
阶段 1:递归入门(纯公式递归,最简单)
1、P1028 数的计算
递归思路
终止:n=1 → 返回 1
递归:1 + 所有 f (i) 之和(i 从 1 到 n/2)
2、P5732 计算斐波那契
递归思路
终止:n=1、n=2 → 返回 1
递归:f (n-1)+f (n-2)
3、P1307 数字反转
递归思路
终止:n=0 停止
递归:输出最后一位 → 递归 f (n/10)
阶段 2:简单递归模拟(调用自己)
1、P1928 外星密码
功能:解压 AC2 (AB) → ACABAB
递归思路
遇到字母直接拼接
遇到 ( → 进入递归解压内容
遇到 ) → 返回重复后的字符串
2、P1255 数楼梯
递归 + 递推 递归思路
终止:n=1 →1;n=2→2
递归:f (n-1)+f (n-2)
3、P1424 【基础】阶乘计算 最标准递归
递归思路:
终止:n=1 → 返回 1
递归:n * f (n-1)
阶段 3:分治递归(把问题拆小)
1、P1226 快速幂
分治递归
功能:求 a^b % p
递归思路
偶数:a^b = a^(b/2) * a^(b/2)
奇数:多乘一个 a
终止:b=0 → 返回 1
2、P1010 幂次方
经典分治递归题
阶段 4:递归枚举 / 暴搜(递归核心)
1、P1036 选数
递归暴搜入门,功能:从 n 个数里选 k 个
递归思路
选 or 不选
终止:选够 k 个
2、P1157 组合的输出
功能:输出 1~n 中选 k 个的所有组合
递归思路
按顺序选,不回头
存到数组里,够数输出
3、P2089 不能用的数字
阶段 5:递归回溯(进阶)
1、P1219 八皇后
递归回溯最经典
功能:皇后不互相攻击
递归思路
一行一行放
检查列、对角线是否冲突
放完 N 行答案 + 1
2、P1019 单词接龙

浙公网安备 33010602011771号