如何实现JavaScript中二叉树的节点插入与构建?

更新于
2026-10-01 13:11:04
1阅读来源:SEO资讯
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计836个文字,预计阅读时间需要4分钟。

如何实现JavaScript中二叉树的节点插入与构建?

本文实例讲述了JavaScript数据结构与算法中的二叉树插入节点、生成二叉树。分享给家长供参考,具体如下:

JavaScript数据结构与算法——插入节点、生成二叉树在二叉树中,相对较小的值位于左侧,较大的值位于右侧。以下是如何在JavaScript中实现二叉树插入节点和生成二叉树的示例:

javascript// 定义二叉树节点class TreeNode { constructor(value) { this.value=value; this.left=null; this.right=null; }}

// 插入节点function insertNode(root, value) { if (root===null) { return new TreeNode(value); } if (value root.value) { root.right=insertNode(root.right, value); } return root;}

// 生成二叉树function generateBinaryTree(values) { let root=null; for (let value of values) { root=insertNode(root, value); } return root;}

// 示例const values=[8, 3, 10, 1, 6, 14, 4, 7, 13];const binaryTree=generateBinaryTree(values);

// 打印二叉树function printBinaryTree(root) { if (root===null) { return; } printBinaryTree(root.left); console.log(root.value); printBinaryTree(root.right);}

printBinaryTree(binaryTree);

以上代码展示了如何在JavaScript中实现二叉树的插入节点和生成二叉树。希望对家长有所帮助。

本文实例讲述了JavaScript数据结构与算法之二叉树插入节点、生成二叉树。分享给大家供大家参考,具体如下:

javascript数据结构与算法-- 插入节点、生成二叉树

二叉树中,相对较小的值保存在左节点上,较大的值保存在右节点中

/* *二叉树中,相对较小的值保存在左节点上,较大的值保存在右节点中 * * * */ /*用来生成一个节点*/ function Node(data, left, right) { this.data = data;//节点存储的数据 this.left = left; this.right = right; this.show = show; } function show() { return this.data; } /*用来生成一个二叉树*/ function BST() { this.root = null; this.insert = insert; } /*将数据插入二叉树 (1)设根节点为当前节点。 (2)如果待插入节点保存的数据小于当前节点,则设新的当前节点为原节点的左节点;反 之,执行第4步。 (3)如果当前节点的左节点为null,就将新的节点插入这个位置,退出循环;反之,继续 执行下一次循环。 (4)设新的当前节点为原节点的右节点。 (5)如果当前节点的右节点为null,就将新的节点插入这个位置,退出循环;反之,继续 执行下一次循环。 * */ function insert(data) { var n = new Node(data, null, null); if (this.root == null) { this.root = n; } else { var current = this.root; var parent; while (true) { parent = current; if (data < current.data) { current = current.left;//待插入节点保存的数据小于当前节点,则设新的当前节点为原节点的左节点 if (current == null) {//如果当前节点的左节点为null,就将新的节点插入这个位置,退出循环;反之,继续执行下一次while循环。 parent.left = n; break; } } else { current = current.right;//待插入节点保存的数据小于当前节点,则设新的当前节点为原节点的左节点 if (current == null) { parent.right = n; break; } } } } } var nums = new BST(); nums.insert(23); nums.insert(45); nums.insert(16); nums.insert(37); nums.insert(3); nums.insert(99); nums.insert(22); console.log(nums);

使用在线HTML/CSS/JavaScript代码运行工具:tools.jb51.net/code/HtmlJsRun测试上述代码,可得如下运行结果:

更多关于JavaScript相关内容感兴趣的读者可查看本站专题:《JavaScript数据结构与算法技巧总结》、《JavaScript数学运算用法总结》、《JavaScript排序算法总结》、《JavaScript遍历算法与技巧总结》、《JavaScript查找算法技巧总结》及《JavaScript错误与调试技巧总结》

如何实现JavaScript中二叉树的节点插入与构建?

希望本文所述对大家JavaScript程序设计有所帮助。

本文共计836个文字,预计阅读时间需要4分钟。

如何实现JavaScript中二叉树的节点插入与构建?

本文实例讲述了JavaScript数据结构与算法中的二叉树插入节点、生成二叉树。分享给家长供参考,具体如下:

JavaScript数据结构与算法——插入节点、生成二叉树在二叉树中,相对较小的值位于左侧,较大的值位于右侧。以下是如何在JavaScript中实现二叉树插入节点和生成二叉树的示例:

javascript// 定义二叉树节点class TreeNode { constructor(value) { this.value=value; this.left=null; this.right=null; }}

// 插入节点function insertNode(root, value) { if (root===null) { return new TreeNode(value); } if (value root.value) { root.right=insertNode(root.right, value); } return root;}

// 生成二叉树function generateBinaryTree(values) { let root=null; for (let value of values) { root=insertNode(root, value); } return root;}

// 示例const values=[8, 3, 10, 1, 6, 14, 4, 7, 13];const binaryTree=generateBinaryTree(values);

// 打印二叉树function printBinaryTree(root) { if (root===null) { return; } printBinaryTree(root.left); console.log(root.value); printBinaryTree(root.right);}

printBinaryTree(binaryTree);

以上代码展示了如何在JavaScript中实现二叉树的插入节点和生成二叉树。希望对家长有所帮助。

本文实例讲述了JavaScript数据结构与算法之二叉树插入节点、生成二叉树。分享给大家供大家参考,具体如下:

javascript数据结构与算法-- 插入节点、生成二叉树

二叉树中,相对较小的值保存在左节点上,较大的值保存在右节点中

/* *二叉树中,相对较小的值保存在左节点上,较大的值保存在右节点中 * * * */ /*用来生成一个节点*/ function Node(data, left, right) { this.data = data;//节点存储的数据 this.left = left; this.right = right; this.show = show; } function show() { return this.data; } /*用来生成一个二叉树*/ function BST() { this.root = null; this.insert = insert; } /*将数据插入二叉树 (1)设根节点为当前节点。 (2)如果待插入节点保存的数据小于当前节点,则设新的当前节点为原节点的左节点;反 之,执行第4步。 (3)如果当前节点的左节点为null,就将新的节点插入这个位置,退出循环;反之,继续 执行下一次循环。 (4)设新的当前节点为原节点的右节点。 (5)如果当前节点的右节点为null,就将新的节点插入这个位置,退出循环;反之,继续 执行下一次循环。 * */ function insert(data) { var n = new Node(data, null, null); if (this.root == null) { this.root = n; } else { var current = this.root; var parent; while (true) { parent = current; if (data < current.data) { current = current.left;//待插入节点保存的数据小于当前节点,则设新的当前节点为原节点的左节点 if (current == null) {//如果当前节点的左节点为null,就将新的节点插入这个位置,退出循环;反之,继续执行下一次while循环。 parent.left = n; break; } } else { current = current.right;//待插入节点保存的数据小于当前节点,则设新的当前节点为原节点的左节点 if (current == null) { parent.right = n; break; } } } } } var nums = new BST(); nums.insert(23); nums.insert(45); nums.insert(16); nums.insert(37); nums.insert(3); nums.insert(99); nums.insert(22); console.log(nums);

使用在线HTML/CSS/JavaScript代码运行工具:tools.jb51.net/code/HtmlJsRun测试上述代码,可得如下运行结果:

更多关于JavaScript相关内容感兴趣的读者可查看本站专题:《JavaScript数据结构与算法技巧总结》、《JavaScript数学运算用法总结》、《JavaScript排序算法总结》、《JavaScript遍历算法与技巧总结》、《JavaScript查找算法技巧总结》及《JavaScript错误与调试技巧总结》

如何实现JavaScript中二叉树的节点插入与构建?

希望本文所述对大家JavaScript程序设计有所帮助。