Binary Heap (MinHeap)

A Binary Heap is a binary tree that exhibits the heap property, either as a minimum heap (smallest value at the top of each binary tree) or a maximum heap (largest value at the top of each binary tree).

Write a program binary_heap.py that defines a BinaryHeap class as a Minimum Heap.

In general a Binary Heap needs the following methods:

The primary challenges with this assignment include:

Your program should include the BinaryHeap class declaration as well as a main() program that demonstrates the use of the class to create a minimum heap.