蓝桥杯备考:递归初阶

什么是递归?

相信我们已经不陌生了,函数自己调用自己就叫递归

为什么要有递归?

当处理主问题时,遇到子问题,子问题的解决方法和主问题是一样的,这时候我们就要用到递归

解决流程:问题---》相同的子问题------》 相同的子子问题 ---------》 不能拆分

我们要从宏观的角度来解决递归问题,不用每次都把细节展开图都画出来,没必要

我们就把递归函数想成一共黑盒子,我们赋予黑盒子一些任务,相信它能帮我们完成

写好一个递归分为几部分呢?

1.先找到相同的子问题

2.出口

好的,既然我们已经知道了如何利用宏观的思想来解决问题,那么我们现在就写一下后序遍历的递归代码吧

cpp 复制代码
void dfs(int root)
{
    if(root == 0) return;
    dfs(L[root]);
    dfs(R[root]);
    cout << root << " ";

}

再用宏观的思想写一下归并排序的代码

cpp 复制代码
void merge(int left,int right)
{
    if(left >= right) return;
    int mid = (left+right)/2;
    merge(left,mid);
    merge(mid+1,right);
    
    //合并有序序列




}
相关推荐
练习时长一年5 分钟前
LeetCode热题100(杨辉三角)
算法·leetcode·职场和发展
_OP_CHEN3 小时前
【算法基础篇】(四十五)裴蜀定理与扩展欧几里得算法:从不定方程到数论万能钥匙
算法·蓝桥杯·数论·算法竞赛·裴蜀定理·扩展欧几里得算法·acm/icpc
我命由我123453 小时前
Photoshop - Photoshop 工具栏(58)锐化工具
学习·ui·职场和发展·求职招聘·职场发展·学习方法·photoshop
踩坑记录4 小时前
leetcode hot100 438. 找到字符串中所有字母异位词 滑动窗口 medium
leetcode·职场和发展
YuTaoShao4 小时前
【LeetCode 每日一题】1458. 两个子序列的最大点积——(解法三)状态压缩
算法·leetcode·职场和发展
橘颂TA5 小时前
【剑斩OFFER】算法的暴力美学——leetCode 946 题:验证栈序列
c++·算法·leetcode·职场和发展·结构与算法
wen__xvn5 小时前
力扣第 484 场周赛
算法·leetcode·职场和发展
YuTaoShao5 小时前
【LeetCode 每日一题】865. 具有所有最深节点的最小子树——(解法一)自顶向下
算法·leetcode·职场和发展
2301_800895105 小时前
hh的蓝桥杯每日一题--拔河
职场和发展·蓝桥杯
CCPC不拿奖不改名5 小时前
计算机网络:电脑访问网站的完整流程详解+面试习题
开发语言·python·学习·计算机网络·面试·职场和发展