# Class BinaryHeap

Binary heap implementation.

Binary heaps are really fast for ordering nodes in a way that makes it possible to get the node with the lowest F score. Also known as a priority queue.

This has actually been rewritten as a 4-ary heap for performance, but it's the same principle.

## Inner Types

## Public Methods

Adds a node to the heap.

Create a new heap with the specified initial capacity.

Removes all elements from the heap.

Rebuilds the heap by trickeling down all items.

Returns the node with the lowest F score from the heap.

## Public Variables

The tree will grow by at least this factor every time it is expanded.

True if the heap does not contain any elements.

Number of items in the tree.

## Private/Protected Members

Number of children of each node in the tree.

Expands to a larger backing array when the current one is too small.

Internal backing array for the heap.

Rounds up v so that it has remainder 1 when divided by D.

Sort nodes by G score if there is a tie when comparing the F score.