I have been wondering what collections one can use to solve problems that require a min/max heap or a priority queue. The closest I see is a SortedList<TKey,TValue>, however it requires you to store a key value pair even when you just have a list of values and the keys have to be unique. The other alternative is SortedSet<TValue> if all the values are unique. Just want to know if there are better alternatives for interviews. Thanks.