10分钟学会递归算法(算法基础递归算法解读)
什么是递归
递归一般是指在函数内部又调用了自身
原理主要原理是在每次调用自身的时候,需要解决的任务会进一步简化或者理解为任务量变少;
直到简化至一些基本的case,可以直接处理并返回而不再需要进一步简化的情况。
算法实现的大体思路- 基本case逻辑,即在某些条件下不需要递归;可以直接解决的逻辑
- 递推规则,将复杂任务拆解的规则,按照这个规则拆解,最终可以拆解到基本的case;
一般来说代码首先需要处理基本的case,然后是递归的调用;
对于稍复杂一点的问题,递归调用的返回值不能直接作为上一次的返回值,需要进一步处理,根据实际情况返回应该返回的值。
举例给定一个链表,两两交换其中相邻的节点,并返回交换后的链表。
如:给定 1->2->3->4, 你应该返回 2->1->4->3
代码实现如下:
递归代码
,免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com