какие ещё 2^n элементов? если бы их было нужно, то алгоритму пришлось бы их использовать, потратив на каждый хотя бы такт. тогда время работы было бы минимум 2^n, а вовсе не n*log(n).
вы путаете, n там и правда бывает степенью двойки, но уже другого числа, скажем, k. но есть алгоритмы и на другие длины, когда среди множителей есть тройки, пятёрки, семёрки. с той же асимптотикой.