1. V.E.B. revisited 2. Min-Max Heap 2.1 Через две бинарные кучи 2.2 Add, Ext{min,max} -> через siftUp, siftDown 2.3 SiftUp 2.4 SiftDown 3. Leftist Heap 3.1 Картинка, инвариант, хранение. 3.2 Выражаем add->merge, extMin->merge. 3.3 делаем Merge 4. Skew Heap 4.1 Переделываем Merge из Leftist 4.2 Смотрим на правый путь, лёгкое-тяжелое 4.3 вводим потенциал "число правых тяжёлых" 5. Списко-куча 5.1 Взгляд вокруг, хотим крутые кучи. Операции Add, Min, ExtMin, DecrKey, Merge. Всё за O(1) нельзя, FibHeap почти ок. 5.2 Спискокуча которая ExtMin за O(n), остальное быстро 6. Binary Heap Build Lower Bound 6.1 Мысль про 2^k >= n! / H(n), параллель с оценками на sort 6.2 Получаем H(n) 6.3 Подставляем