[Si eres un principiante o un intermedio, entonces mi respuesta puede ayudarte, pero si eres un profesional, considerarás mi respuesta como una falacia científica, solo estoy tratando de hacerlo de la manera más fácil para que lo domines suavemente]
En general, la teoría de la complejidad tiene que ver con el número de iteraciones y los comandos. La mayoría de las veces, por mi corta experiencia, consideramos que los comandos son de una complejidad constante, es decir, cuando agregas dos números o multiplicas dos números, esto en realidad no sucede en ningún momento, lleva algo de tiempo, pero la teoría de complejidad en su mayoría lo consideran un O (1) o un número constante de operaciones.
En su Algoritmo A y Algoritmo B, solo varían en la tercera y cuarta línea. Pero como dijimos antes, los comandos tienen un número constante de operaciones, por lo que la cuarta línea es la misma en los pensamientos de complejidad, porque no hará una diferencia si hiciéramos “X = X + 10000” o “X = X +1 “(considéralo como esto por ahora).
De acuerdo con la tercera línea:
- ¿Qué modelos matemáticos se utilizan en la clasificación IR?
- ¿Desde dónde debemos comenzar a aprender IA, aprendizaje automático y algoritmos?
- En la tercera edición de 'Introducción a los algoritmos', ¿por qué comprar acciones es un problema de subarrays máximos?
- ¿Qué tan valioso sería ser ubicado para aprender la estructura de datos usando C?
- ¿Cómo surgieron las estructuras de datos y los algoritmos?
Algoritmo A
.
.
PARA j = 1 a 10000
.
.
================================================== ===
Algoritmo B:
.
.
PARA j = 1 a medida
.
.
En el algoritmo A, la j va a 10000, irá a 10000 incluso si el tamaño es 1 o millón.
En el algoritmo B, j va al tamaño, por lo que variará en función del tamaño, si el tamaño es 1, si se repetirá una sola vez, si el tamaño es millón, se repetirá millones.
Usted está preguntando sobre el punto en el que el algoritmo A será más lento de lo que es, por lo tanto, en otras palabras, desea saber cuándo las iteraciones en A serán más que las iteraciones en B, así que calculemos el número de dos iteraciones, y entonces resolveremos la desigualdad:
El primer bucle del algoritmo A va al tamaño , y el segundo bucle va a 10000, por lo que el número total de iteraciones aquí es “10000 * Tamaño” para cualquier valor del tamaño .
El primer bucle del algoritmo B va al tamaño , y el segundo bucle también va al tamaño , por lo que el número total de iteraciones aquí es “Tamaño * Tamaño” para cualquier valor del tamaño .
Queremos saber cuándo será el Tamaño 10000 * mayor que el Tamaño * Tamaño, así que resuelva esto para la variable aquí que es el Tamaño.
10000 * Tamaño> Tamaño * Tamaño → (Dividir por tamaño)
10000> tamaño
Entonces, la respuesta es simple, cuando el tamaño es inferior a 10000 , y esto parece lógicamente.
Pero, por otro lado, no se trata de la complejidad, sino de calcular la cantidad de iteraciones y comandos (llamarlo trabajo por simplicidad) en los límites o tamaños grandes: notación Big O – Wikipedia
Por supuesto, este no es el único método, pero este es el común.