您的位置:首页 > Web前端 > JavaScript

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);
}
}

这三种都属于深度优先遍历,因为优先往深处访问。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: