Show / Hide Table of Contents

    Class AVLTree<T>

    An AVL tree implementation.

    Inheritance
    Object
    AVLTree<T>
    Namespace: Advanced.Algorithms.DataStructures
    Assembly: Advanced.Algorithms.dll
    Syntax
    public class AVLTree<T> : IEnumerable<T> where T : IComparable
    Type Parameters
    Name Description
    T

    Constructors

    AVLTree(IEnumerable<T>, Boolean)

    Initialize the BST with given sorted keys. Time complexity: O(n).

    Declaration
    public AVLTree(IEnumerable<T> sortedCollection, bool enableNodeLookUp = false)
    Parameters
    Type Name Description
    IEnumerable<T> sortedCollection

    The initial sorted collection.

    Boolean enableNodeLookUp

    Enabling lookup will fasten deletion/insertion/exists operations at the cost of additional space.

    AVLTree(Boolean)

    Declaration
    public AVLTree(bool enableNodeLookUp = false)
    Parameters
    Type Name Description
    Boolean enableNodeLookUp

    Enabling lookup will fasten deletion/insertion/exists operations at the cost of additional space.

    Properties

    Count

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

    Methods

    AsEnumerableDesc()

    Descending enumerable.

    Declaration
    public IEnumerable<T> AsEnumerableDesc()
    Returns
    Type Description
    IEnumerable<T>

    Contains(T)

    Time complexity: O(log(n)).

    Declaration
    public bool Contains(T value)
    Parameters
    Type Name Description
    T value
    Returns
    Type Description
    Boolean

    Delete(T)

    Time complexity: O(log(n)).

    Declaration
    public void Delete(T value)
    Parameters
    Type Name Description
    T value

    ElementAt(Int32)

    Time complexity: O(log(n))

    Declaration
    public T ElementAt(int index)
    Parameters
    Type Name Description
    Int32 index
    Returns
    Type Description
    T

    FindMax()

    Time complexity: O(log(n)).

    Declaration
    public T FindMax()
    Returns
    Type Description
    T

    FindMin()

    Time complexity: O(log(n)).

    Declaration
    public T FindMin()
    Returns
    Type Description
    T

    GetEnumerator()

    Declaration
    public IEnumerator<T> GetEnumerator()
    Returns
    Type Description
    IEnumerator<T>

    GetEnumeratorDesc()

    Declaration
    public IEnumerator<T> GetEnumeratorDesc()
    Returns
    Type Description
    IEnumerator<T>

    HasItem(T)

    Time complexity: O(log(n))

    Declaration
    public bool HasItem(T value)
    Parameters
    Type Name Description
    T value
    Returns
    Type Description
    Boolean

    IndexOf(T)

    Time complexity: O(log(n))

    Declaration
    public int IndexOf(T item)
    Parameters
    Type Name Description
    T item
    Returns
    Type Description
    Int32

    Insert(T)

    Time complexity: O(log(n))

    Declaration
    public void Insert(T value)
    Parameters
    Type Name Description
    T value

    NextHigher(T)

    Get the next higher value to given value in this BST. Time complexity: O(log(n))

    Declaration
    public T NextHigher(T value)
    Parameters
    Type Name Description
    T value
    Returns
    Type Description
    T

    NextLower(T)

    Get the next lower value to given value in this BST. Time complexity: O(log(n))

    Declaration
    public T NextLower(T value)
    Parameters
    Type Name Description
    T value
    Returns
    Type Description
    T

    RemoveAt(Int32)

    Time complexity: O(log(n))

    Declaration
    public T RemoveAt(int index)
    Parameters
    Type Name Description
    Int32 index
    Returns
    Type Description
    T
    Back to top Generated by DocFX