
Dimas Antonio Mendoza Lozano
PreguntaNo se que es Big O Notationalguien me podria ayudar. Estuve buscnado pero esta muy compleja la definicio.
-
O(1) - "Orden constante": Indica que el tiempo de ejecución o el espacio utilizado por el algoritmo no depende del tamaño de entrada. Es decir, el algoritmo siempre toma una cantidad constante de tiempo o espacio para cualquier tamaño de problema.
-
O(log n) - "Orden logarítmico": Indica que el tiempo de ejecución o el espacio crece en función del logaritmo del tamaño de entrada. Los algoritmos con esta complejidad suelen dividir el problema a la mitad en cada paso.
-
O(n) - "Orden lineal": Indica que el tiempo de ejecución o el espacio crece de manera proporcional al tamaño de entrada. Por ejemplo, si el tamaño de entrada se duplica, el tiempo de ejecución o el espacio también se duplicará.
-
O(n log n) - "Orden linealítmico": Es común en algoritmos de ordenamiento eficientes como el algoritmo Quicksort o el algoritmo Merge Sort.
-
O(n^2) - "Orden cuadrático": Indica que el tiempo de ejecución o el espacio crece cuadráticamente en función del tamaño de entrada. Los algoritmos con esta complejidad suelen tener dos bucles anidados.

Alejandro Urrea Giraldo
La notación Big-O hace referencia a la complejidad natural que tiene un algoritmo para resolver un problema.
Al conocer la complejidad de un algoritmo (mediante la notación Big-O) es posible comparar su eficiencia. Por ejemplo, es posible que dos algoritmos que resuelven el mismo problema, tengan una complejidad diferente, y en función de esta condición, podamos elegir el más eficiente.
Le comparto un artículo muy interesante que explica muy bien el tema. Espero le sirva
https://www.campusmvp.es/recursos/post/Rendimiento-de-algoritmos-y-notacion-Big-O.aspx

Dimas Antonio Mendoza Lozano
Thanks!

Carlos Humberto Urias Apodaca
¡Por supuesto! El análisis de la notación Big O (notación "O grande") es una herramienta importante en ciencias de la computación y matemáticas para describir la eficiencia de un algoritmo o la complejidad de un problema en términos de la cantidad de datos o el tamaño de entrada.
En términos simples, la notación Big O se utiliza para expresar el crecimiento asintótico del tiempo de ejecución o del espacio necesario para resolver un problema a medida que el tamaño del problema se vuelve arbitrariamente grande. No describe el tiempo o espacio real que llevará resolver un problema para un tamaño específico, sino cómo aumenta en función del crecimiento del tamaño del problema.
La notación Big O se denota como "O(f(n))", donde "f(n)" representa una función que describe la tasa de crecimiento del algoritmo en términos de "n", el tamaño de entrada.
A continuación, te presento algunas de las notaciones Big O más comunes y su significado:
Existen muchas otras notaciones Big O para diferentes tasas de crecimiento, pero estas son algunas de las más comunes.
Espero que esta explicación haya aclarado tu comprensión sobre la notación Big O. Si tienes preguntas adicionales o necesitas ejemplos específicos, no dudes en preguntar.