javascript - 【数据结构】二叉树的疑惑
本文介绍了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.left
和node.right
都是undefined
,那为何可以回到上层root
节点?然继续进行node.right
的遍历。
解决方案
preOrder(node.left);//当这个执行到最深,node.left和node.right都是undefined时,不就执行下 面的preOrder(node.right);,也就是你说的上层root节点
preOrder(node.right);
这篇关于javascript - 【数据结构】二叉树的疑惑的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文