二叉树:在计算机科学中,二叉树是每个结点最多有两个子树的树结构。通常子树被称作“左子树”(left subtree)和“右子树”(right subtree)。二叉树常被用于实现二叉查找树和二叉堆。
首先我们这张图的二叉树的顶端为八,也被称为根节点
1, 6 则是兄弟节点,同属于3的节点
最底层的4, 7, 13, 则被称为终点节点,又名叶子节点,
散布逻辑
以8作为根节点为例,小于8的则是左子树,大于八的则是右子树,然后然后左右子树在以此类推,
代码实现逻辑
首先我们我们肯定会有个创建根节点的构造函数,和创建子节点的构造函数
建议在chrome下运行,此处打了三个debugger,可以看一下代码的执行顺序,然后看执行时的值
//这里为创建子节点的构造函数
class BinaryNode {
constructor(node) {
this.node = node
this.right = null
this.left = null
}
}
//这里是创建根节点的构造函数
class BinaryTree {
constructor() {
//这里为根节点