ну а теперь посмотри как устроены списки в хаскеле)
так ну первый рекурсивный вызов у нас заюзает ~ n + (n - n / 2) памяти, вторая ~ n + (n - n / 2) + (n - n / 4), третья ~ n + (n - n / 2) + (n - n / 4) + (n - n / 8). Снова n * log n.
UPD: на каждой глубине рекурсии будет заюзано на самом деле ~ n + n * k / 2, где k глубина рекурсии. В общем-то это ничего не меняет, расход по памяти остаётся O(n * log n)
саша
Pawel
Мерль
David
Dorian
Алексей
Olzhas
Диёр
Aliester
Lucky
Marperia
Co(n)stantine👨🔬
Alexander
Vladimir
Cat