二叉树创建规则:从上到下一层一层的,按照从左到右的顺序进行构造
输入"10,5,12,4,7"值,构造的树如下:
![](https://img.haomeiwen.com/i12665637/9376bebc470a73ef.png)
function Node(data,left,right){
this.data = data;
this.left = left;
this.right = right;
}
function BST(){
this.root = null;
}
BST.prototype.insert = function(data){
var node = new Node(data,null,null);
if(this.root == null){
this.root = node;
}else{
var current = this.root;
var parent;
while(true){
parent = current;
if(data < current.data){
current = current.left;
if(current == null){
parent.left = node;
break;
}
}else{
current = current.right;
if(current == null){
parent.right = node;
break;
}
}
}
}
}
function fn(arr){
var bst = new BST();
for(var i = 0;i<arr.length;i++){
bst.insert(arr[i])
}
console.log(bst.root)
}
fn([12,8,11,15,18,7,16,6])
网友评论