只要理解了递归算法的实质,以及二叉树三种遍历的访问顺序,它们的流程图就不难画出来(文章附上了二叉树三种遍历的流程图画法)。接下来,将从三部分进行深度解读:
-
什么是递归?
-
二叉树的三种遍历
-
如何将三种遍历转化成流程图?
一、什么是递归
在画二叉树(递归)遍历流程图前,我们得先理解什么是递归。
所谓递归,在数学与计算机科学中,是指在函数的定义中使用函数自身的算法。通俗来说,递归算法的实质是把问题分解成规模缩小的同类问题的子问题,然后递归调用方法来表示问题的解。
-
递归的基本原理
第一,每一级的函数调用都有自己的变量。
第二,每一次函数调用都会有一次返回。
第三,递归函数中,位于递归调用前的语句和各级被调用函数具有相同的执行顺序。
第四,递归函数中,位于递归调用后的语句的执行顺序和各个被调用函数的顺序相反。
第五,虽然每一级递归都有自己的变量,但是函数代码并不会得到复制。
-
递归的三大要素
第一要素:明确你这个函数想要干什么。先不管函数里面的代码什么,而是要先明白,你这个函数的功能是什么,要完成什么样的一件事。</