Array implementation drawback: both adding and removing takes
O(n)
(linear) time due to data movements.
Linked list implementation drawback: adding takes O(n)
(linear) time due to searching.
Wanted: A data structure for priority queues that can be both searched
and updated in better than O(n) (linear) time.