javascript - 【数据结构】二叉树的疑惑
巴扎黑
巴扎黑 2017-04-11 11:11:52
[JavaScript讨论组]

代码是网上的。

var tree = {
    value: 1,
    left: {
        value: 2,
        left: {
           value: 4
        },
        right: {
           value: 8
        }
    },
    right: {
        value: 3,
        left: {
           value: 5,
           left: {
               value: 7
           },
           right: {
               value: 8
           }
        },
        right: {
           value: 6
        }
    }
}

先序遍历的递归算法:

var preOrder = function (node) { 
    if (node) {  
        console.log(node.value);
        preOrder(node.left);
        preOrder(node.right);
     }
}

我有点不明白的地方是,当node是最深的那个节点,那就是node.leftnode.right都是undefined,那为何可以回到上层root节点?然继续进行node.right的遍历。

巴扎黑
巴扎黑

全部回复(1)
PHPz
    preOrder(node.left);//当这个执行到最深,node.left和node.right都是undefined时,不就执行下        面的preOrder(node.right);,也就是你说的上层root节点
    preOrder(node.right);
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号