脚本宝典收集整理的这篇文章主要介绍了用JS实现数据结构----排序二叉树,脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
排序二叉树 如上图为典型的排序二叉树,左孩子的值比节点的值小,右孩子的值比节点的值大,关于具体的树的定义及二叉树的定义可以百度或查阅相关资料。 排序二叉树的创建 创建原理 排序二叉树的创建原理与排序二叉树的定义一致,即左孩子的值比当前节点的值小,右孩子的值比当前节点的值大。 代码实现 this.key = key this.left = null this.right = null } // 根节点 var root = null // 1 var insertNode = function(node, newNode) { if(node !== null) { if(newNode.key < node.key) { insertNode(node.left, newNode) if(node.left == null) { node.left = newNode } }else{ insertNode(node.right, newNode) if(node.right == null) { node.right = newNode } } } return null } //插入节点 this.insert = function(key) { var newNode = new Node(key) if(root === null) { root = newNode }else { insertNode(root, newNode) } } this.getTree = function() { return root } } var tree = new BinaryTree() var nodes = [8, 3, 10, 1, 6, 14, 4, 7, 11, 15] nodes.forEach(function(item) { tree.insert(item) }) console.log(tree.getTree())
如上图为典型的排序二叉树,左孩子的值比节点的值小,右孩子的值比节点的值大,关于具体的树的定义及二叉树的定义可以百度或查阅相关资料。