递归讲解
前言
简述下最近所学的一些比较重要的算法,此文章主要对递归在链表中树中的作用进行说明。
一、递归是什么?
递归简单的说就是自己调用自己。
递归的条件:
1、子问题和原问题具有相同的条件或者方法
2、递归的过程其实就是不断的将问题缩小,我们每次将问题缩小的时候都会用到上一个状态。
大家也可以参照递归的定义:为了描述问题的某一状态,必须用到该状态的上一状态,而描述上一状态,又必须用到上一状态的上一状态……这种用自已来定义自己的方法,称为递归定义。形式如 f(n) = n*f(n-1), if n=0,f(n)=1.
二、递归在树中作用(三种遍历方式)
1.前序遍历
在这里我将递归单独写出来方便理解
public void proOrder(TreeNode root){
dfs(root);
}
public void dfs(TreeNode root){
if(root == null<

本文深入讲解了递归的概念,并通过详细阐述树的前序、中序和后序遍历,展示了递归在解决树结构问题中的重要作用。递归不仅是解决问题的一种方法,还能通过调整遍历顺序产生新的结果。最后,作者提到了回溯法与递归的相似之处,并以8皇后问题为例进一步说明。
最低0.47元/天 解锁文章
873

被折叠的 条评论
为什么被折叠?



