Class RedBlackTree<T>
A red black tree implementation.
Inheritance
RedBlackTree<T>
Assembly: Advanced.Algorithms.dll
Syntax
public class RedBlackTree<T> : IEnumerable<T>, IEnumerable where T : IComparable
Type Parameters
Constructors
RedBlackTree(Boolean, IEqualityComparer<T>)
Declaration
public RedBlackTree(bool enableNodeLookUp = false, IEqualityComparer<T> equalityComparer = null)
Parameters
Type |
Name |
Description |
Boolean |
enableNodeLookUp |
Enabling lookup will fasten deletion/insertion/exists operations
at the cost of additional space.
|
IEqualityComparer<T> |
equalityComparer |
|
Properties
Count
Declaration
public int Count { get; }
Property Value
Methods
Delete(T)
Time complexity: O(log(n))
Declaration
public void Delete(T value)
Parameters
Type |
Name |
Description |
T |
value |
|
GetEnumerator()
Declaration
public IEnumerator<T> GetEnumerator()
Returns
GetHeight()
Time complexity: O(log(n))
Declaration
Returns
HasItem(T)
Time complexity: O(log(n))
Declaration
public bool HasItem(T value)
Parameters
Type |
Name |
Description |
T |
value |
|
Returns
Insert(T)
Time complexity: O(log(n))
Declaration
public void Insert(T value)
Parameters
Type |
Name |
Description |
T |
value |
|
Max()
Time complexity: O(log(n))
Declaration
Returns
Min()
Time complexity: O(log(n))
Declaration
Returns
NextHigher(T)
Get the next higher to given value in this BST.
Declaration
public T NextHigher(T value)
Parameters
Type |
Name |
Description |
T |
value |
|
Returns
NextLower(T)
Get the next lower value to given value in this BST.
Declaration
public T NextLower(T value)
Parameters
Type |
Name |
Description |
T |
value |
|
Returns
Explicit Interface Implementations
IEnumerable.GetEnumerator()
Declaration
IEnumerator IEnumerable.GetEnumerator()
Returns
Implements