Por ejemplo,
const arr = [1,2,3] let multipliedByTwos = [...arr].map(n=>n*2) Me pregunto cuál es la complejidad del tiempo para producir multipledByTwos .
Sé que difundir [...arr] es O(N), y .map() en este caso también es O(N). Pero, ¿y si están encadenados como en el ejemplo de código anterior? Supongo que todavía O (N)? Porque primero se propaga (O(N)) y luego lo mapea (O(N)).
Algo como esto O(N) + O(N) === 2O(N) , que en realidad es solo O(N) . ¿Es esto correcto? ¿O debería ser O(N^2) porque el encadenamiento en realidad multiplica la complejidad del tiempo en lugar de agregarlos? Estoy un poco perdido en este concepto.
EDITAR: no estoy preguntando si O (N) * 2 es O (N). Pero estoy preguntando sobre mi comprensión general del encadenamiento de [...arr] y .map().
Gracias.