Package htsjdk.tribble.index.interval
Class IntervalTree
java.lang.Object
htsjdk.tribble.index.interval.IntervalTree
An implementation of an interval tree, following the explanation.
from CLR. For efficiently finding all intervals which overlap a given
interval or point.
References:
http://en.wikipedia.org/wiki/Interval_tree
Cormen, Thomas H.; Leiserson, Charles E., Rivest, Ronald L. (1990). Introduction to Algorithms (1st ed.). MIT Press and McGraw-Hill. ISBN 0-262-03141-8
-
Constructor Summary
Constructors -
Method Summary
-
Constructor Details
-
IntervalTree
public IntervalTree()
-
-
Method Details
-
insert
-
getSize
public int getSize()The estimated size of the tree. We keep a running count on each insert, this getter returns that count.- Returns:
- See Also:
-
findOverlapping
- Parameters:
interval
-- Returns:
- all matches as a list of Intervals
-
toString
-
getIntervals
Return all intervals in tree. TODO: an iterator would be more effecient.- Returns:
-
size
public int size()- Returns:
- Returns the number of nodes in the tree. Recalculated each call
- See Also:
-
isValid
public boolean isValid()Test code: make sure that the tree has all the properties defined by Red Black trees and interval trees o. Root is black. o. NIL is black. o. Red nodes have black children. o. Every path from root to leaves contains the same number of black nodes. o. getMax(node) is the maximum of any interval rooted at that node.. This code is expensive, and only meant to be used for assertions and testing.
-