Show / Hide Table of Contents

    Class DIntervalTree<T>

    A multi-dimensional interval tree implementation.

    Inheritance
    Object
    DIntervalTree<T>
    Inherited Members
    Object.ToString()
    Object.Equals(Object)
    Object.Equals(Object, Object)
    Object.ReferenceEquals(Object, Object)
    Object.GetHashCode()
    Object.GetType()
    Object.MemberwiseClone()
    Namespace: Advanced.Algorithms.DataStructures
    Assembly: Advanced.Algorithms.dll
    Syntax
    public class DIntervalTree<T>
        where T : IComparable
    Type Parameters
    Name Description
    T

    Constructors

    DIntervalTree(Int32)

    Declaration
    public DIntervalTree(int dimension)
    Parameters
    Type Name Description
    Int32 dimension

    Properties

    Count

    Declaration
    public int Count { get; }
    Property Value
    Type Description
    Int32

    Methods

    Delete(T[], T[])

    Delete this interval from this interval tree. Time complexity: O(log(n)).

    Declaration
    public void Delete(T[] start, T[] end)
    Parameters
    Type Name Description
    T[] start
    T[] end

    DoOverlap(T[], T[])

    Does this interval overlap with any interval in this interval tree?

    Declaration
    public bool DoOverlap(T[] start, T[] end)
    Parameters
    Type Name Description
    T[] start
    T[] end
    Returns
    Type Description
    Boolean

    GetOverlaps(T[], T[])

    returns a list of matching intervals. Time complexity : O(log n + m) where m is the number of intervals in the result.

    Declaration
    public List<DInterval<T>> GetOverlaps(T[] start, T[] end)
    Parameters
    Type Name Description
    T[] start
    T[] end
    Returns
    Type Description
    List<DInterval<T>>

    Insert(T[], T[])

    Add a new interval to this interval tree. Time complexity: O(log(n)).

    Declaration
    public void Insert(T[] start, T[] end)
    Parameters
    Type Name Description
    T[] start
    T[] end
    Back to top Generated by DocFX