Package io.keikaiex.util
Class IntervalTree<T>
- All Implemented Interfaces:
Serializable
An extensible Interval Tree that you can keep payload of type [T] in Interval.
https://en.wikipedia.org/wiki/Interval_tree
- See Also:
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected booleancanDeleteNode(io.keikaiex.util.RBNode<Integer, Integer> n, Object ctx) deleteInterval(Interval<T> interval, Object context) protected voidprotected voidinsertDuplicate(io.keikaiex.util.RBNode<Integer, Integer> original, io.keikaiex.util.RBNode<Integer, Integer> newone, Object context) insertInterval(Interval<T> interval, Object context) protected voidinsertLeft(io.keikaiex.util.RBNode<Integer, Integer> parent, io.keikaiex.util.RBNode<Integer, Integer> child) protected voidinsertRight(io.keikaiex.util.RBNode<Integer, Integer> parent, io.keikaiex.util.RBNode<Integer, Integer> child) protected voidleftJumpUp(io.keikaiex.util.RBNode<Integer, Integer> g) protected voidreplaceNode(io.keikaiex.util.RBNode<Integer, Integer> target, io.keikaiex.util.RBNode<Integer, Integer> substitute) protected voidrightJumpUp(io.keikaiex.util.RBNode<Integer, Integer> g) protected voidrotateLeft(io.keikaiex.util.RBNode<Integer, Integer> g) protected voidrotateRight(io.keikaiex.util.RBNode<Integer, Integer> g) searchInterval(Interval<T> interval)
-
Constructor Details
-
IntervalTree
public IntervalTree(int maxLimit)
-
-
Method Details
-
insertInterval
-
deleteInterval
-
searchInterval
-
contains
-
contained
-
overlaps
-
insertDuplicate
protected void insertDuplicate(io.keikaiex.util.RBNode<Integer, Integer> original, io.keikaiex.util.RBNode<Integer, Integer> newone, Object context) - Overrides:
insertDuplicatein classRBTree<Integer,Integer>
-
insertLeft
protected void insertLeft(io.keikaiex.util.RBNode<Integer, Integer> parent, io.keikaiex.util.RBNode<Integer, Integer> child) - Overrides:
insertLeftin classRBTree<Integer,Integer>
-
insertRight
protected void insertRight(io.keikaiex.util.RBNode<Integer, Integer> parent, io.keikaiex.util.RBNode<Integer, Integer> child) - Overrides:
insertRightin classRBTree<Integer,Integer>
-
rightJumpUp
- Overrides:
rightJumpUpin classRBTree<Integer,Integer>
-
leftJumpUp
- Overrides:
leftJumpUpin classRBTree<Integer,Integer>
-
rotateRight
- Overrides:
rotateRightin classRBTree<Integer,Integer>
-
rotateLeft
- Overrides:
rotateLeftin classRBTree<Integer,Integer>
-
fixUp
-
replaceNode
-
canDeleteNode
-