Show / Hide Table of Contents

    Class SortedHashSet<T>

    A sorted HashSet implementation using balanced binary search tree. IEnumerable will enumerate in sorted order. This may be better than regular HashSet implementation which can give o(K) in worst case (but O(1) amortized when collisions K is avoided).

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

    The value datatype.

    Constructors

    SortedHashSet()

    Declaration
    public SortedHashSet()

    SortedHashSet(IEnumerable<T>)

    Initialize the sorted hashset with given sorted key collection. Time complexity: log(n).

    Declaration
    public SortedHashSet(IEnumerable<T> sortedKeys)
    Parameters
    Type Name Description
    IEnumerable<T> sortedKeys

    Properties

    Count

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

    Item[Int32]

    Time complexity: O(log(n))

    Declaration
    public T this[int index] { get; }
    Parameters
    Type Name Description
    Int32 index
    Property Value
    Type Description
    T

    Methods

    Add(T)

    Add a new value. Time complexity: O(log(n)).

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

    The value to add.

    Contains(T)

    Does this hash table contains the given value. Time complexity: O(log(n)).

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

    The value to check.

    Returns
    Type Description
    Boolean

    True if this hashset contains the given value.

    ElementAt(Int32)

    Time complexity: O(log(n))

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

    GetEnumerator()

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

    IndexOf(T)

    Time complexity: O(log(n))

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

    NextHigher(T)

    Return the next higher value after given value in this hashset. Time complexity: O(log(n)).

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

    Null if the given value does'nt exist or next value does'nt exist.

    NextLower(T)

    Return the next lower value before given value in this HashSet. Time complexity: O(log(n)).

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

    Null if the given value does'nt exist or previous value does'nt exist.

    Remove(T)

    Remove the given value. Time complexity: O(log(n)).

    Declaration
    public bool Remove(T value)
    Parameters
    Type Name Description
    T value

    The value to remove.

    Returns
    Type Description
    Boolean

    RemoveAt(Int32)

    Remove the element at given index. 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