@@ -81,11 +81,8 @@ function intersectsHelper(interval, node) {
8181 var result = false , temp ;
8282 [ 'left' , 'right' ] . forEach ( function ( side ) {
8383 temp = node [ side ] ;
84- if ( temp ) {
85- if ( intersects ( interval , [ temp . interval [ 0 ] , temp . max ] ) ||
86- temp . interval [ 0 ] <= interval [ 0 ] ) {
87- result = result || intersectsHelper ( interval , temp ) ;
88- }
84+ if ( temp && temp . max >= interval [ 0 ] ) {
85+ result = result || intersectsHelper ( interval , temp ) ;
8986 }
9087 } ) ;
9188 return result ;
@@ -97,7 +94,7 @@ function intersects(a, b) {
9794}
9895
9996IntervalTree . prototype . intersects = function ( interval ) {
100- return intersectsHelper ( intersects , this . root ) ;
97+ return intersectsHelper ( interval , this . root ) ;
10198} ;
10299
103100function heightHelper ( node ) {
@@ -111,16 +108,16 @@ IntervalTree.prototype.height = function () {
111108 return heightHelper ( this . root ) ;
112109} ;
113110
114-
115- var t = new IntervalTree ( ) ;
116-
117- t . add ( [ 1 , 2 ] ) ;
118- t . add ( [ - 1 , 8 ] ) ;
119- t . add ( [ - 1 , 18 ] ) ;
120- t . add ( [ 2 , 4 ] ) ;
121- t . add ( [ 8 , 13 ] ) ;
122- t . add ( [ 2 , 10 ] ) ;
123-
124- console . log ( t . intersects ( [ 1 , 2 ] ) ) ;
125- console . log ( t . contains ( 16 ) ) ;
126- console . log ( t . height ( ) ) ;
111+ //
112+ // var t = new IntervalTree();
113+ //
114+ // t.add([1, 2]);
115+ // t.add([-1, 8]);
116+ // t.add([-1, 18]);
117+ // t.add([2, 4]);
118+ // t.add([8, 13]);
119+ // t.add([2, 10]);
120+ //
121+ // console.log(t.intersects([19, 29 ]));
122+ // console.log(t.contains(16));
123+ // console.log(t.height());
0 commit comments