ADT
* insert(value)
* remove()
* isEmpty()
Where value is among int, string, double, char... or objects that supports < operator.
Heap
Unsorted Array: O(1)* insert, O(n) removeMin (need to find min first)
Unsorted Linked List: O(1) insert, O(n) removeMin
Sorted Array: O(n)* insert, O(1) removeMin