当前位置: 首页 > 娱乐 > 正文

递归算法流程图 之后直接把结果返回

作者:admin 发布时间:2023-11-26 11:40:28 分类:娱乐 浏览:92


只要理解了递归算法的实质,以及二叉树三种遍历的访问顺序,它们的流程图就不难画出来(文章附上了二叉树三种遍历的流程图画法)。

接下来,将从三部分进行深度解读:

什么是递归?

二叉树的三种遍历

如何将三种遍历转化成流程图?

一、什么是递归

在画二叉树(递归)遍历流程图前,我们得先理解什么是递归。

所谓递归,在数学与计算机科学中,是指在函数的定义中使用函数自身的算法。

通俗来说,递归算法的实质是把问题分解成规模缩小的同类问题的子问题,然后递归调用方法来表示问题的解。

递归的基本原理

第一,每一级的函数调用都有自己的变量。

第二,每一次函数调用都会有一次返回。

第三,递归函数中,位于递归调用前的语句和各级被调用函数具有相同的执行顺序。

第四,递归函数中,位于递归调用后的语句的执行顺序和各个被调用函数的顺序相反。

第五,虽然每一级递归都有自己的变量,但是函数代码并不会得到复制。

递归的三大要素

第一要素:明确你这个函数想要干什么。

先不管函数里面的代码什么,你这个函数的功能是什么,要完成什么样的一件事。

第二要素:寻找递归结束条件。

我们需要找出当参数为啥时,递归结束,之后直接把结果返回,请注意,这个时候我们必须能根据这个参数的值,能够直接知道函数的结果是什么。

第三要素:找出函数的等价关系式。

我们要不断缩小参数的范围,缩小之后,我们可以通过一些辅助的变量或者操作,使原函数的结果不变。

二、二叉树的三种遍历

二叉树(递归)遍历分为三种,分别为先序遍历、中序遍历和后序遍历。

1)先序遍历:按照“根节点->左子树->右子树”的顺序访问二叉树

先序遍历

先序遍历结果:A BDFE CGHI

2)中序遍历:按照“左子树->根节点->右子树”的顺序访问二叉树

中序遍历

中序遍历结果:DBEF A GHCI

3)后序遍历:按照“左子树->右子树->根节点”的顺序访问

后序遍历

后序遍历的结果:DEFB HGIC A

三、如何将三种遍历转化成流程图?

理解了递归算法,以及二叉树(递归)三种遍历的逻辑,其流程图也就可以画出来了。

接下来以 亿图图示 软件为例进行演示:

1)打开软件,选择选择“新建>流程图>基本流程图>+”,新建一张空白画布;

2)从左侧符号库选择恰当的符号拖放至右侧画布;

3)通过连接线连接符号,用以表示算法的流程。

最后,是对关键要素进行信息标注。

简单四步,一幅流程图就完成了(以下是先序遍历/中序遍历/后序遍历的流程图)

递归-先序遍历流程图

递归-中序遍历流程图

递归-后序遍历流程图

感兴趣的小伙伴,可以体验下▼▼▼

edrawsoft.cn

最后,附上流程图绘制的部分干货,有需要的可以自行查看▼

流程图常用符号及其代表含义

三大绘制规范教你绘制优秀的流程图


标签:流程函数三种结果


相关推荐

最新推荐

关灯