¿La notación cuadrática siempre consiste en 2 bucles juntos?

PREGUNTA:

¿Las notaciones cuadráticas son siempre 2 bucles juntos? 🙃


RESPUESTA:

Casi siempre, pero hay otras formas de llegar a O(n²).


O(n²) significa que si el tamaño de los datos de entrada N aumenta, el tiempo de ejecución crece a N².


Ejemplo clásico - dos bucles anidados:


for i in range(n):

for j in range(n):

print(i, j) # Esto se ejecuta n n veces → O(n²)*


Pero hay otros casos menos obvios:

✅ Algoritmos que comparan cada elemento con todos los demás (como el Bubble Sort o Selection Sort) -> los verás más adelante.

✅ Algoritmos que dividen los datos en grupos y luego los recorren con otro bucle.

✅ Recursividad: hacer llamadas anidadas de forma cuadrática.


Ejemplo raro de O(n²) - sin dos bucles anidados:


def funcion_cuadratica(n):

if n == 0:

return

for i in range(n):

print(i)

funcion_cuadratica(n - 1) # Llamada recursiva O(n) veces


Aquí, cada llamada imprime n elementos, y hay n llamadas, lo que da O(n²).


Entonces, como puedes ver, que haya dos bucles anidados es la forma más común, pero no la única manera de llegar a O(n²).

Did this answer your question? Thanks for the feedback There was a problem submitting your feedback. Please try again later.

Still need help? Contáctanos Contáctanos