public MaxHeap(IEnumerable <T> items, IComparer <T> comparer) { var negatedComparer = Comparer <T> .Create((x, y) => comparer.Compare(y, x)); minHeap = new MinHeap <T>(items, negatedComparer); }
public MinHeap(IEnumerable <KeyValuePair <TKey, TValue> > items, IComparer <TValue> comparer) { heap = new MinHeap <TKey, TValue, Dictionary <TKey, int> >(items, comparer); }