为了账号安全,请及时绑定邮箱和手机立即绑定

javascript 使用递归创建二叉树

javascript 使用递归创建二叉树

Walk_ 2016-12-05 20:50:20
初学二叉树,参考了网上使用递归创建二叉树的方法,发现只能创建数字型二叉树,所以我想实现一个创建方法:可以接受字符串,然后按照添加顺序,从左到右创建节点。比如说,传入7个值,我希望它的结构是这样的:                    value1        value2            value3value4    value6    value5    value7我想了半天也没有想出,希望大家指点一下。附带一份代码供大家参考:function BinarySearchTree() {     var Node = function(key) {     this.key = key;     this.left = null; //左键(元素)     this.right = null; //右键(元素) } var root = null; //根元素     //向树中插入一个新键     this.insert = function(key) {     if(root === null) { //判断根元素是否存在         root = newNode;     } else {         insertNode(root, newNode);     } } /* node  根节点  * newNode 新节点   */ var insertNode = function(node, newNode) { //判断新元素的key值是小于父元素的key if(newNode.key < node.key) {//新元素的key值小于父元素的key,新节点将被插入在父元素左侧。     if(node.left === null) { //如果没有左侧子节点,就在这插入新节点          node.left = newNode;     } else { //左侧已经存在新节点啦,递归自己到树的下一层          insertNode(node.left, newNode);     } } else {     if(node.right === null) {         node.right = newNode;     } else {         insertNode(node.right, newNode);     }     }     } } var tree = new BinarySearchTree();
查看完整描述

目前暂无任何回答

  • 0 回答
  • 1 关注
  • 2355 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信