图解递归调用过程(Python)
来源:互联网 发布:原生js 双向绑定 编辑:程序博客网 时间:2024/06/07 17:15
最近在学习机器学习算法中的决策树算法,其中在建树的过程中用到了递归调用的思想,于是在这里复习一下递归调用的一些知识。下面test1函数是转自 “深入理解递归函数的调用过程”这篇博客,后面两个函数是我根据决策树算法中用到的递归简化而成,主要是来看看递归调用的过程。
def test1(n): print("level %d" % n) if n<4 : test1(n+1) print("level %d" % n)def test2(n): print("level %d" % n) a = [1,2] for key in a: if key<n: test2(n-1) print("level %d" % key)def test3(n): print("level %d" % n) a = [1,2] for key in a: if key<n: test3(n-1) else : print("level %d" % key)
首先看一下三个函数执行之后结果:
>>>test1(1)level 1level 2level 3level 4level 4level 3level 2level 1>>>test2(2)level 2level 1level 1level 2level 1level 2>>>test3(2)level 2level 1level 1level 2level 2
下面首先来看一下第一个函数test1(1)的运行过程,用图片的形式来展示。由于不是严格的流程图,所以并没有按照流程图的规范来画,只作示意。
第二个函数test2(2)的运行过程。
第三个函数test3(2)的运行过程。
阅读全文
0 0
- 图解递归调用过程(Python)
- python算法和数据结构笔记--汉诺塔问题超详细递归过程图解(堆栈数据结构)
- Python编译过程图解
- isabellezhou 图解二叉树遍历(递归调用)
- xCompressCU()递归调用过程
- java调用存储过程图解
- 汉诺塔移动过程打印(Python & 递归)
- 数据结构中递归调用过程
- MySQL存储过程递归调用
- 函数调用栈帧过程 图解
- 递归的使用(图解)
- VC中调用WebBrowser简单的实现过程(图解过程)
- VC中调用WebBrowser简单的实现过程(图解过程)
- VC 2012 中调用WebBrowser简单的实现过程(图解过程)
- VC 2012 中调用WebBrowser简单的实现过程(图解过程)
- 递归调用详解,分析递归调用的详细过程
- python安装过程及问题图解
- python学习--函数(调用函数、定义函数、递归函数)
- java多线程之等待换性机制简单使用
- L2-020. 功夫传人 BFS
- C
- 20170725考试总结
- 2017 Multi-University Training Contest
- 图解递归调用过程(Python)
- 初入JavaScript(待修改)
- C
- [kotlin系列] (s2_2)属性、字段、接口、可见性修饰
- 在Angular项目中使用PrimeNG组件
- dashboard windows 前端开发环境搭建
- addView()后子布局不居中问题总结与分析
- 关于机器学习的定义的理解
- uoj 34 多项式乘法(fft入门)