• JavaScript二叉树的递归遍历方法


    二叉树是由根节点,左子树,右子树组成,左子树和友子树分别是一个二叉树。

    下面是一个二叉树的例子:

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

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

  • 相关阅读:
    flex>导航
    flex>图表控件
    Struts2>Cannot find the tag library descriptor for /strutstags
    jsp>Smartupload例子代码
    flex>MXML语法
    解决JBoss只能通过localhost(127.0.0.1)而不能通过IP访问
    jsp>tomcat配置虚拟目录
    JSF>概述
    Struts2>中文乱码
    flex>HttpService
  • 原文地址:https://www.cnblogs.com/hess/p/6626147.html
Copyright © 2020-2023  润新知