JS实现二叉排搜索树

本文介绍了如何使用JavaScript创建二叉搜索树(BST),详细讲述了节点类的定义以及二叉搜索树的构建过程。此外,还通过中序、先序和后序遍历的例子帮助理解树的遍历操作。
摘要由CSDN通过智能技术生成

二叉树中的节点最多只能有两个子节点:一个是左侧子节点,另一个是右侧子节点。而二叉搜索树又可以简称BST,它是二叉树的一种,但是只允许你在左侧节点存储(比父节点)小的值,在右侧节点存储(比父节点)大的值。

首先我们需要创建一个节点类用于存储节点数据以及它的左右子节点:

class Node {
    constructor(key) {
        this.key = key;
        this.left = null;
        this.right = null;
    }
}

然后需要创建一个二叉搜索树类,并且实现二叉搜索树的初步构建:

class BinaryTree {
    constructor() {
            this.root = null;
        }
        // 插入
    insert(key) {
        const newNode = new Node(key);
        if (this.root === null) {
            this.root = newNode;
        }
        this.inertNode(this.root, newNode);
    }
    inertNode(node, newNode) {
            // 判断是放在左边还是右边
            // 如果插入的节点的值小于节点值则进入左子树
            if (newNode.key < node.key) {
                // 直到左子树为空
                if (node.left =
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值