Show / Hide Table of Contents

Class IntervalHeap<T>

A binary interval heap is double-ended priority queue is a priority queue that it allows for efficient removal of both the maximum and minimum element.

Inheritance
System.Object
IntervalHeap<T>
Inherited Members
System.Object.Equals(System.Object)
System.Object.Equals(System.Object, System.Object)
System.Object.GetHashCode()
System.Object.GetType()
System.Object.MemberwiseClone()
System.Object.ToString()
System.Object.ReferenceEquals(System.Object, System.Object)
Namespace:KDTree
Assembly:cs.temp.dll.dll
Syntax
public class IntervalHeap<T>
Type Parameters
Name Description
T

The data type contained at each key.

Remarks

This is based on this: https://bitbucket.org/rednaxela/knn-benchmark/src/tip/ags/utils/dataStructures/trees/thirdGenKD/

Constructors

IntervalHeap()

Construct a new interval heap with the default capacity.

Declaration
public IntervalHeap()

IntervalHeap(Int32)

Construct a new interval heap with a custom capacity.

Declaration
public IntervalHeap(int capacity)
Parameters
Type Name Description
System.Int32 capacity

Properties

Capacity

The current capacity of this interval heap.

Declaration
public int Capacity { get; }
Property Value
Type Description
System.Int32

Max

Get the data with the largest key.

Declaration
public T Max { get; }
Property Value
Type Description
T

MaxKey

Get the largest key.

Declaration
public double MaxKey { get; }
Property Value
Type Description
System.Double

Min

Get the data with the smallest key.

Declaration
public T Min { get; }
Property Value
Type Description
T

MinKey

Get the smallest key.

Declaration
public double MinKey { get; }
Property Value
Type Description
System.Double

Size

The number of items in this interval heap.

Declaration
public int Size { get; }
Property Value
Type Description
System.Int32

Methods

Insert(Double, T)

Insert a new data item at a given key.

Declaration
public void Insert(double key, T value)
Parameters
Type Name Description
System.Double key

The value which represents our data (i.e. a distance).

T value

The data we want to store.

RemoveMax()

Remove the item with the largest key in the queue.

Declaration
public void RemoveMax()

RemoveMin()

Remove the item with the smallest key from the queue.

Declaration
public void RemoveMin()

ReplaceMax(Double, T)

Swap out the item with the largest key in the queue.

Declaration
public void ReplaceMax(double key, T value)
Parameters
Type Name Description
System.Double key

The new key for the largest item.

T value

The new data for the largest item.

ReplaceMin(Double, T)

Replace the item with the smallest key in the queue.

Declaration
public void ReplaceMin(double key, T value)
Parameters
Type Name Description
System.Double key

The new minimum key.

T value

The new minumum data value.

Back to top © 2017 Mapbox