Данные со статической структурой. Алгоритм сортировки массива слиянием. Анализ сложности алгоритма

Алгоритм сортировки, который упорядочивает списки (или другие структуры данных, доступ к элементам которых можно получать только последовательно, например — потоки) в определённом порядке.
1.             Сортируемый массив разбивается на две части примерно одинакового размера;
2.             Каждая из получившихся частей сортируется отдельно, например — тем же самым алгоритмом;
3.             Два упорядоченных массива половинного размера соединяются в один.
Рекурсивное разбиение задачи на меньшие происходит до тех пор, пока размер массива не достигнет единицы (любой массив длины 1 можно считать упорядоченным).

Псевдокод алгоритма слияния без "прицепления" остатка на C++-подобном языке:
L = *In1;
R = *In2;
if( L == R )
{
 *Out++ = L;
 In1++;
 *Out++ = R;
 In2++;
}
else if( L < R )
{
 *Out++ = L;
 In1++;
}
else
{
 *Out++ = R;
 In2++;
}




Анализ сложности – Королев-Миков страницы 122!!!