Class RBTree<K,​V>

  • All Implemented Interfaces:
    java.io.Serializable
    Direct Known Subclasses:
    IntervalTree

    public class RBTree<K,​V>
    extends java.lang.Object
    implements java.io.Serializable
    See Also:
    Serialized Form
    • Constructor Summary

      Constructors 
      Constructor Description
      RBTree​(java.util.Comparator<K> comparator)  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      io.keikaiex.util.RBNode<K,​V> delete​(K key, java.lang.Object context)  
      protected void fixUp​(java.util.List<io.keikaiex.util.RBTree.Traversal<K,​V>> lineal)  
      io.keikaiex.util.RBNode<K,​V> insert​(io.keikaiex.util.RBNode<K,​V> node, java.lang.Object context)  
      protected void insertDuplicate​(io.keikaiex.util.RBNode<K,​V> original, io.keikaiex.util.RBNode<K,​V> newone, java.lang.Object context)  
      protected void insertLeft​(io.keikaiex.util.RBNode<K,​V> parent, io.keikaiex.util.RBNode<K,​V> child)  
      protected void insertRight​(io.keikaiex.util.RBNode<K,​V> parent, io.keikaiex.util.RBNode<K,​V> child)  
      boolean isEmpty()  
      protected void leftJumpUp​(io.keikaiex.util.RBNode<K,​V> g)  
      protected void rightJumpUp​(io.keikaiex.util.RBNode<K,​V> g)  
      protected void rotateLeft​(io.keikaiex.util.RBNode<K,​V> g)  
      protected void rotateRight​(io.keikaiex.util.RBNode<K,​V> g)  
      io.keikaiex.util.RBNode<K,​V> search​(K key)  
      • Methods inherited from class java.lang.Object

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

      • RBTree

        public RBTree​(java.util.Comparator<K> comparator)
    • Method Detail

      • isEmpty

        public boolean isEmpty()
      • search

        public io.keikaiex.util.RBNode<K,​V> search​(K key)
      • insert

        public io.keikaiex.util.RBNode<K,​V> insert​(io.keikaiex.util.RBNode<K,​V> node,
                                                         java.lang.Object context)
      • delete

        public io.keikaiex.util.RBNode<K,​V> delete​(K key,
                                                         java.lang.Object context)
      • insertDuplicate

        protected void insertDuplicate​(io.keikaiex.util.RBNode<K,​V> original,
                                       io.keikaiex.util.RBNode<K,​V> newone,
                                       java.lang.Object context)
      • insertLeft

        protected void insertLeft​(io.keikaiex.util.RBNode<K,​V> parent,
                                  io.keikaiex.util.RBNode<K,​V> child)
      • insertRight

        protected void insertRight​(io.keikaiex.util.RBNode<K,​V> parent,
                                   io.keikaiex.util.RBNode<K,​V> child)
      • rightJumpUp

        protected void rightJumpUp​(io.keikaiex.util.RBNode<K,​V> g)
      • leftJumpUp

        protected void leftJumpUp​(io.keikaiex.util.RBNode<K,​V> g)
      • rotateRight

        protected void rotateRight​(io.keikaiex.util.RBNode<K,​V> g)
      • rotateLeft

        protected void rotateLeft​(io.keikaiex.util.RBNode<K,​V> g)
      • fixUp

        protected void fixUp​(java.util.List<io.keikaiex.util.RBTree.Traversal<K,​V>> lineal)