JavaScript二叉树的递归遍历方法
2017-03-27 12:42
246 查看
二叉树是由根节点,左子树,右子树组成,左子树和友子树分别是一个二叉树。
下面是一个二叉树的例子:
{ "ruleId":"", "name":"客户年龄大于20", "id":"root", "expression":"age>20", "yes":{ "name":"客户年龄大于25", "id":"root-true", "expression":"age>25", "yes":{ "name":"可贷金额为五万", "id":"root-true-true", "expression":"money = 50000" }, "no":{ "name":"可贷金额为三万", "id":"root-true-false", "expression":"money = 30000" } }, "no":{ "name":"客户年龄小于18", "id":"root-false", "expression":"age<18", "yes":{ "name":"不可贷款", "id":"root-false-true", "expression":"money = 0" }, "no":{ "name":"可贷金额为一万", "id":"root-false-false", "expression":"money = 10000" } } }
1)先序遍历
function preorder(data){ if(data){ console.log(data.name); preorder(data.yes); preorder(data.no) } }
2)中序遍历
function preorder(data){ if(data){ preorder(data.yes); console.log(data.name); preorder(data.no) } }
3)后序遍历
function preorder(data){ if(data){ preorder(data.yes); preorder(data.no); console.log(data); } }
这三种都属于深度优先遍历,因为优先往深处访问。
相关文章推荐
- 二叉树的遍历方法及递归实现
- acm hnu 10415 分硬币的一种解法(递归遍历二叉树的方法,超时)
- 利用非递归方法实现二叉树的层次遍历
- Morris Traversal方法遍历二叉树(非递归,不用栈,O(1)空间)
- 非递归方式遍历二叉树的几种方法
- 用递归方法对二叉树进行层次遍历
- 用非递归方式实现二叉树的前、中、后三种遍历方法
- 用非递归的方法遍历二叉树
- 二叉树的三种遍历的方法(递归和非递归完整版)
- 二叉树系列三:二叉树的遍历(递归方法)
- 二叉树的三种遍历方法(递归和非递归)(转载)
- 递归和非递归俩种方法实现二叉树的前序遍历
- 递归访问二叉树的3种遍历方法
- 用递归方法对二叉树进行层次遍历
- 递归方法实现二叉树的创建,遍历
- 根据前序遍历和中序遍历结果重建二叉树(递归方法)
- 二叉树的三种遍历方法(递归和非递归)(转载)
- 二叉树的遍历(递归方法)
- 递归和非递归俩种方法实现二叉树的前序遍历
- 二叉树的遍历方法(递归,非递归)