Class DaryHeap<T>
A D-ary minMax heap implementation.
Namespace: Advanced.Algorithms.DataStructures
Assembly: Advanced.Algorithms.dll
Syntax
public class DaryHeap<T> : IEnumerable<T> where T : IComparable
Type Parameters
Name | Description |
---|---|
T |
Constructors
DaryHeap(Int32, SortDirection, IEnumerable<T>)
Time complexity: O(n) when initial is provided otherwise O(1).
Declaration
public DaryHeap(int k, SortDirection sortDirection = null, IEnumerable<T> initial = null)
Parameters
Type | Name | Description |
---|---|---|
Int32 | k | The number of children per heap node. |
SortDirection | sortDirection | |
IEnumerable<T> | initial | The initial items if any. |
Fields
Count
Declaration
public int Count
Field Value
Type | Description |
---|---|
Int32 |
Methods
Extract()
Time complexity: O(log(n) base K).
Declaration
public T Extract()
Returns
Type | Description |
---|---|
T |
GetEnumerator()
Declaration
public IEnumerator<T> GetEnumerator()
Returns
Type | Description |
---|---|
IEnumerator<T> |
Insert(T)
Time complexity: O(log(n) base K).
Declaration
public void Insert(T newItem)
Parameters
Type | Name | Description |
---|---|---|
T | newItem |
Peek()
Time complexity: O(1).
Declaration
public T Peek()
Returns
Type | Description |
---|---|
T |