Class IntervalTree<T>

  • All Implemented Interfaces:
    java.io.Serializable

    public class IntervalTree<T>
    extends RBTree<java.lang.Integer,​java.lang.Integer>
    An extensible Interval Tree that you can keep payload of type [T] in Interval. https://en.wikipedia.org/wiki/Interval_tree
    See Also:
    Serialized Form
    • Constructor Summary

      Constructors 
      Constructor Description
      IntervalTree​(int maxLimit)  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      protected boolean canDeleteNode​(io.keikaiex.util.RBNode<java.lang.Integer,​java.lang.Integer> n, java.lang.Object ctx)  
      java.util.Collection<Interval<T>> contained​(Interval<T> interval)  
      java.util.Collection<Interval<T>> contains​(Interval<T> interval)  
      Interval<T> deleteInterval​(Interval<T> interval, java.lang.Object context)  
      protected void fixUp​(java.util.List<io.keikaiex.util.RBTree.Traversal<java.lang.Integer,​java.lang.Integer>> lineal)  
      protected void insertDuplicate​(io.keikaiex.util.RBNode<java.lang.Integer,​java.lang.Integer> original, io.keikaiex.util.RBNode<java.lang.Integer,​java.lang.Integer> newone, java.lang.Object context)  
      Interval<T> insertInterval​(Interval<T> interval, java.lang.Object context)  
      protected void insertLeft​(io.keikaiex.util.RBNode<java.lang.Integer,​java.lang.Integer> parent, io.keikaiex.util.RBNode<java.lang.Integer,​java.lang.Integer> child)  
      protected void insertRight​(io.keikaiex.util.RBNode<java.lang.Integer,​java.lang.Integer> parent, io.keikaiex.util.RBNode<java.lang.Integer,​java.lang.Integer> child)  
      protected void leftJumpUp​(io.keikaiex.util.RBNode<java.lang.Integer,​java.lang.Integer> g)  
      java.util.Collection<Interval<T>> overlaps​(Interval<T> interval)  
      protected void replaceNode​(io.keikaiex.util.RBNode<java.lang.Integer,​java.lang.Integer> target, io.keikaiex.util.RBNode<java.lang.Integer,​java.lang.Integer> substitute)  
      protected void rightJumpUp​(io.keikaiex.util.RBNode<java.lang.Integer,​java.lang.Integer> g)  
      protected void rotateLeft​(io.keikaiex.util.RBNode<java.lang.Integer,​java.lang.Integer> g)  
      protected void rotateRight​(io.keikaiex.util.RBNode<java.lang.Integer,​java.lang.Integer> g)  
      Interval<T> searchInterval​(Interval<T> interval)  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • IntervalTree

        public IntervalTree​(int maxLimit)
    • Method Detail

      • insertInterval

        public Interval<T> insertInterval​(Interval<T> interval,
                                          java.lang.Object context)
      • deleteInterval

        public Interval<T> deleteInterval​(Interval<T> interval,
                                          java.lang.Object context)
      • contained

        public java.util.Collection<Interval<T>> contained​(Interval<T> interval)
      • insertDuplicate

        protected void insertDuplicate​(io.keikaiex.util.RBNode<java.lang.Integer,​java.lang.Integer> original,
                                       io.keikaiex.util.RBNode<java.lang.Integer,​java.lang.Integer> newone,
                                       java.lang.Object context)
        Overrides:
        insertDuplicate in class RBTree<java.lang.Integer,​java.lang.Integer>
      • insertLeft

        protected void insertLeft​(io.keikaiex.util.RBNode<java.lang.Integer,​java.lang.Integer> parent,
                                  io.keikaiex.util.RBNode<java.lang.Integer,​java.lang.Integer> child)
        Overrides:
        insertLeft in class RBTree<java.lang.Integer,​java.lang.Integer>
      • insertRight

        protected void insertRight​(io.keikaiex.util.RBNode<java.lang.Integer,​java.lang.Integer> parent,
                                   io.keikaiex.util.RBNode<java.lang.Integer,​java.lang.Integer> child)
        Overrides:
        insertRight in class RBTree<java.lang.Integer,​java.lang.Integer>
      • rightJumpUp

        protected void rightJumpUp​(io.keikaiex.util.RBNode<java.lang.Integer,​java.lang.Integer> g)
        Overrides:
        rightJumpUp in class RBTree<java.lang.Integer,​java.lang.Integer>
      • leftJumpUp

        protected void leftJumpUp​(io.keikaiex.util.RBNode<java.lang.Integer,​java.lang.Integer> g)
        Overrides:
        leftJumpUp in class RBTree<java.lang.Integer,​java.lang.Integer>
      • rotateRight

        protected void rotateRight​(io.keikaiex.util.RBNode<java.lang.Integer,​java.lang.Integer> g)
        Overrides:
        rotateRight in class RBTree<java.lang.Integer,​java.lang.Integer>
      • rotateLeft

        protected void rotateLeft​(io.keikaiex.util.RBNode<java.lang.Integer,​java.lang.Integer> g)
        Overrides:
        rotateLeft in class RBTree<java.lang.Integer,​java.lang.Integer>
      • fixUp

        protected void fixUp​(java.util.List<io.keikaiex.util.RBTree.Traversal<java.lang.Integer,​java.lang.Integer>> lineal)
        Overrides:
        fixUp in class RBTree<java.lang.Integer,​java.lang.Integer>
      • replaceNode

        protected void replaceNode​(io.keikaiex.util.RBNode<java.lang.Integer,​java.lang.Integer> target,
                                   io.keikaiex.util.RBNode<java.lang.Integer,​java.lang.Integer> substitute)
      • canDeleteNode

        protected boolean canDeleteNode​(io.keikaiex.util.RBNode<java.lang.Integer,​java.lang.Integer> n,
                                        java.lang.Object ctx)