Table of Contents

Class BinarySearchTree<T>

Namespace
AlgorithmsSW.SearchTrees
Assembly
AlgorithmsSW.dll
public class BinarySearchTree<T> : IBinarySearchTree<T>

Type Parameters

T
Inheritance
BinarySearchTree<T>
Implements
Inherited Members
Extension Methods

Constructors

BinarySearchTree(IComparer<T>)

public BinarySearchTree(IComparer<T> comparer)

Parameters

comparer IComparer<T>

Properties

Count

public int Count { get; }

Property Value

int

IsEmpty

public bool IsEmpty { get; }

Property Value

bool

IsSingleton

public bool IsSingleton { get; }

Property Value

bool

NodesInOrder

public IEnumerable<BinarySearchTree<T>.Node> NodesInOrder { get; }

Property Value

IEnumerable<BinarySearchTree<T>.Node>

NodesLevelOrder

public IEnumerable<BinarySearchTree<T>.Node> NodesLevelOrder { get; }

Property Value

IEnumerable<BinarySearchTree<T>.Node>

NodesPostOrder

public IEnumerable<BinarySearchTree<T>.Node> NodesPostOrder { get; }

Property Value

IEnumerable<BinarySearchTree<T>.Node>

NodesPreOrder

public IEnumerable<BinarySearchTree<T>.Node> NodesPreOrder { get; }

Property Value

IEnumerable<BinarySearchTree<T>.Node>

Root

public BinarySearchTree<T>.Node? Root { get; }

Property Value

BinarySearchTree<T>.Node

Methods

Add(T)

public void Add(T item)

Parameters

item T

CountNodesSmallerThan(T)

public int CountNodesSmallerThan(T item)

Parameters

item T

Returns

int

GetMaxNode()

public BinarySearchTree<T>.Node GetMaxNode()

Returns

BinarySearchTree<T>.Node

GetMinNode()

public BinarySearchTree<T>.Node GetMinNode()

Returns

BinarySearchTree<T>.Node

Height()

public int Height()

Returns

int

LargestKeyLessThanOrEqualTo(T)

public BinarySearchTree<T>.Node? LargestKeyLessThanOrEqualTo(T key)

Parameters

key T

Returns

BinarySearchTree<T>.Node

Range(T, T)

public IEnumerable<BinarySearchTree<T>.Node> Range(T start, T end)

Parameters

start T
end T

Returns

IEnumerable<BinarySearchTree<T>.Node>

Remove(T)

public void Remove(T item)

Parameters

item T

RemoveMaxNode()

public BinarySearchTree<T>.Node RemoveMaxNode()

Returns

BinarySearchTree<T>.Node

RemoveMinNode()

public BinarySearchTree<T>.Node RemoveMinNode()

Returns

BinarySearchTree<T>.Node

SmallestKeyGreaterThanOrEqualTo(T)

public BinarySearchTree<T>.Node? SmallestKeyGreaterThanOrEqualTo(T key)

Parameters

key T

Returns

BinarySearchTree<T>.Node

TryFindNode(T, out INode<T>)

public bool TryFindNode(T item, out INode<T> node)

Parameters

item T
node INode<T>

Returns

bool