蓝桥杯备考:递归初阶
- 游戏开发
- 2025-08-24 03:09:02

什么是递归?
相信我们已经不陌生了,函数自己调用自己就叫递归
为什么要有递归?
当处理主问题时,遇到子问题,子问题的解决方法和主问题是一样的,这时候我们就要用到递归
解决流程:问题—》相同的子问题——》 相同的子子问题 ———》 不能拆分
我们要从宏观的角度来解决递归问题,不用每次都把细节展开图都画出来,没必要
我们就把递归函数想成一共黑盒子,我们赋予黑盒子一些任务,相信它能帮我们完成
写好一个递归分为几部分呢?
1.先找到相同的子问题
2.出口
好的,既然我们已经知道了如何利用宏观的思想来解决问题,那么我们现在就写一下后序遍历的递归代码吧
void dfs(int root) { if(root == 0) return; dfs(L[root]); dfs(R[root]); cout << root << " "; }再用宏观的思想写一下归并排序的代码
void merge(int left,int right) { if(left >= right) return; int mid = (left+right)/2; merge(left,mid); merge(mid+1,right); //合并有序序列 }蓝桥杯备考:递归初阶由讯客互联游戏开发栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“蓝桥杯备考:递归初阶”
下一篇
3dmax运动捕捉