KdTree

作者: XiangCheng | 来源:发表于2014-08-07 11:06 被阅读0次

function KdTree(x, y){

this.left;

this.right;

this.x = x;

this.y = y;

}

KdTree.prototype = {

constructor : KdTree,

insert : function(node){

var curNode = this;

var depth = 1;

while (curNode){

if (depth % 2){

if (this.x > node.x){

if (!curNode.left) {

this.setValue(curNode, node, 1);

curNode = curNode.left;

}

curNode = curNode.left;

}

else{

if (!curNode.right) {

this.setValue(curNode, node, 0);

curNode = curNode.right;

}

curNode = curNode.right;

}

}else{

if(this.y > node.y){

if (!curNode.right) {

this.setValue(curNode, node, 0);

curNode = curNode.right;

}

curNode = curNode.left;

}

else{

if (!curNode.right) {

this.setValue(curNode, node, 0);

curNode = curNode.right;

}

curNode = curNode.right;

}

}

depth = depth + 1;

}

},

setValue: function(curNode, node, leftOrRight) {

if (leftOrRight) curNode.left = node;

else curNode.right = node;

}

}

var kdTree = new KdTree(5, 2);

var node = new KdTree(2, 4);

kdTree.insert(node);

var node = new KdTree(4, 3);

kdTree.insert(node);

var node = new KdTree(6, 4);

kdTree.insert(node);

var node = new KdTree(8, 5);

kdTree.insert(node);

console.log(kdTree);

相关文章

网友评论

      本文标题:KdTree

      本文链接:https://www.haomeiwen.com/subject/uakdtttx.html