Su pregunta destaca la diferencia entre la complejidad del peor de los casos y la mejor de las mejores. La complejidad en el peor de los casos de un algoritmo es [matemática] f (n) [/ matemática] si el algoritmo utilizará como máximo [matemática] f (n) [/ matemática] pasos en cualquier entrada de tamaño [matemática] n [/ mates]. La complejidad del mejor caso de un algoritmo es [matemática] f (n) [/ matemática] si el número mínimo de pasos que utilizará el algoritmo en cualquier entrada de tamaño [matemática] n [/ matemática] es [matemática] f ( n) [/ matemáticas]. Muy a menudo, estas dos medidas de complejidad no coinciden.
Hablando estrictamente, su pregunta puede ser respondida sin usar la notación O grande. La notación Big-O es una notación para medir la tasa de crecimiento asintótico de las funciones de valor real sobre los números naturales y es anterior a la teoría de la complejidad computacional por varias décadas. De hecho, esta notación se desarrolló en el marco de la teoría analítica de números; Fue introducido por los matemáticos alemanes Paul Bachmann y Edmund Landau antes de la Primera Guerra Mundial.
En la teoría de la complejidad computacional, las medidas de complejidad son casi siempre funciones de valor real sobre los números naturales, y es por eso que la notación O grande se ha convertido en el enfoque estándar para medir las tasas de crecimiento.
- ¿Podemos usar una cola en quicksort en C?
- Cómo calcular la suma de dígitos de cada número entre 1 y n
- ¿Cuál es el tema más importante en la estructura de datos y algoritmos en la programación en C?
- Cómo implementar la implementación de la pila y la cola en las estructuras de datos
- ¿Cuál es el tiempo de ejecución del método sort () en la biblioteca de Colecciones?