用循环和栈代替递归Demo
来源:互联网 发布:韬睿惠悦咨询公司知乎 编辑:程序博客网 时间:2024/05/06 10:42
用循环和栈代替递归Demo
Q:将上图的数据结构转换为如下要求:
循环中嵌套递归:
public function recursion($arr, $str){ for($i = 0; $i < count($arr); $i++){ $newstr = $str + '->'+ $arr[$i]['resource_name'];//字符串连接 if(! array_key_exists('children', $arr[$i]) PrintOUT $newstr; else $this->recursion($arr[$i]['children'], $newstr);//存在chilrden则递归 } }
用循环和栈代替递归:
<pre name="code" class="php">public function recursion($arr){ stack ; $i = 0; $str = ""; while(1){ $newstr = $str + '->'+ $arr[$i]['resource_name'];//字符串连接 if(array_key_exists('children', $arr[$i]) if($i+1 < count($arr)){ $param.push($arr, $str, $i+1); } $arr = $arr[$i]['children']; $i = 0; $str = $newstr; }else { PrintOUT $newstr; if($i+1 < count($arr)){ $i = $i + 1; }else{ if($param.isempty()) break; $arr, $str, $i = $param.pop(); } } } }
0 0
- 用循环和栈代替递归Demo
- 用循环代替递归防止栈溢出
- 循环代替递归
- 如何利用循环代替递归以防止栈溢出(译)
- 如何利用循环代替递归以防止栈溢出(译)
- 用循环代替游标
- LeetCode 374 使用循环代替递归的二分查找从而避免栈溢出的错误
- 用循环和递归分别计算阶乘
- 用循环和递归处理迷宫问题
- 递归和循环
- 数据结构-循环和递归
- 递归和循环
- 尾递归和循环
- 关于递归和循环
- 递归和循环
- 递归和循环
- 递归和循环
- 递归和循环
- 大话机器学习之决策树(DS)
- 无锁编程:采用不可变类减少锁的使用
- Android Path中绘制的折线如何变得很平滑
- Java四种线程池的使用
- 4、$watch的用法
- 用循环和栈代替递归Demo
- The Cg Tutorial 代码环境配置
- hibernate 相关链接
- [C++ 面试基础知识总结]表达式和函数
- Android的九宫格解锁有多少种情况?(from zhihu)
- 关键字搜索
- ANDROID L——Material Design详解(动画篇)
- SQL查询——示列代码(一)
- 谷歌 DeepMind 计划 5 年内将人工智能用于健康领域