diff options
Diffstat (limited to 'assets/javascripts/rectangles/models/tree.js')
| -rw-r--r-- | assets/javascripts/rectangles/models/tree.js | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/assets/javascripts/rectangles/models/tree.js b/assets/javascripts/rectangles/models/tree.js index 577c41a..8193988 100644 --- a/assets/javascripts/rectangles/models/tree.js +++ b/assets/javascripts/rectangles/models/tree.js @@ -1,35 +1,35 @@ -var tree = function(n, data){ +var Tree = function(n, data){ this.lo = null this.hi = null this.value = n this.data = data } -tree.prototype.find = function(n){ +Tree.prototype.find = function(n){ if (n == this.value) return this if (n < this.value) return this.lo ? this.lo.find(n) : this if (n > this.value) return this.hi ? this.hi.find(n) : this } -tree.prototype.add = function(n, data){ +Tree.prototype.add = function(n, data){ var closest = this.find(n) if (n == closest.value) return closest - if (n < closest.value) return closest.lo = new tree(n, data) - if (n > closest.value) return closest.hi = new tree(n, data) + if (n < closest.value) return closest.lo = new Tree(n, data) + if (n > closest.value) return closest.hi = new Tree(n, data) } -tree.prototype.toArray = function(){ +Tree.prototype.toArray = function(){ var a = [] if (this.lo) a = a.concat(this.lo.toArray()) a.push(this.data) if (this.hi) a = a.concat(this.hi.toArray()) return a } -tree.prototype.toString = function(){ +Tree.prototype.toString = function(){ var s = ""; if (this.lo) s += this.lo.toString() s += this.value + "," if (this.hi) s += this.hi.toString() return s } -tree.prototype.depth = function(){ +Tree.prototype.depth = function(){ if (this.lo && this.hi) return 1 + max(this.lo.depth(), this.hi.depth()) else if (this.lo) return 1 + this.lo.depth() else if (this.hi) return 1 + this.hi.depth() |
