1. Heapsort, по-простому и in-place 2. Указатели и Мо 2.1 Число различных через hashtable 2.2 монотонные запросы (l[i] <= l[i+1], r[i] <= r[i+1]) 2.3 алгоритм Мо 3. Квадратичные сортировки 3.1 Selection Sort, 3.2 Insertion Sort, 3.3 Insertion+BS 3.4 BubbleSort 3.5 Понятие стабильности, числа инверсий 3.6 Сравнение 4. Lower bound на число сравнений в сортировке 5. CountSort 6. Воспоминание об операциях с множествами, в этот раз пересекаем A и B 6.1 sort+sort+2pointers 6.2 sort+binsearch 6.3 hashtable(A), for(B) 7. MergeSort 7.1 Простая версия 7.2 Один буффер на всё 7.3 Нерекурсивно 7.4 про STL: sort, stable_sort, merge, inplace_merge 8. QuickSort 8.1 Простая версия 8.2 Нахаченный partition 8.3 про матожидание 8.4 про разные способы выбирать pivot 8.5 Оцениваем T(n) = n + 1/n sum_x T(x - 1) + T(n - x) через интегралы и индукцию 8.6 Про std::sort = quicksort + heapsort + insertionsort