Si hago algunos cálculos iterando sobre el bucle mientras tomo las entradas. A partir de entonces, imprimiendo el resultado. ¿Puedo decir que es O (1) complejidad?

Gracias por A a A

No, no será grande-oh (1). Aquí, cada uno de sus cálculos, es decir, entrada + cálculo + impresión llevará O (1) tiempo. Por lo tanto, si lleva a cabo n operaciones de este tipo en un bucle, tomará mucho tiempo considerando cada entrada, el cálculo y la fijación de la salida requieren tiempo constante.

O (1) describe un algoritmo que siempre se ejecutará en el mismo tiempo (o espacio) independientemente del tamaño del conjunto de datos de entrada.

Por ejemplo, considere imprimir un valor que tomará unos 2 nanosegundos, la entrada tomará 1 nanosegundo, el cálculo en la suma del formulario puede tomar unos 3 nanosegundos, etc. Todo esto hasta 6 nanosegundos, que es un tiempo constante. Pero está llevando a cabo estas operaciones en un bucle durante n tiempo. Entonces será n * 6.

Big-oh siempre asume el límite superior donde el algoritmo realizará el número máximo de iteraciones. Por lo tanto, el cálculo total será n * alguna constante que llamamos big-oh (n) considerando el límite superior asintótico.

Es mejor entender primero qué significa realmente O (1) en perspectiva de cálculo.

La notación “big-oh” significa cuánto tiempo consume una lógica / algoritmo en términos de operación.

O (1) es un bigoh con una complejidad de tiempo constante. Curiosamente, este bigoh especial es independiente de la operación. Eso significa que si una lógica toma 1000 como entrada con un tiempo de procesamiento de 2 milisegundos, para la entrada 10¹¹ el tiempo de proceso es nuevamente de 2 milisegundos.

Pero O (n) es una operación de complejidad LINEAL de bigoh. Es decir, si la entrada 2 regresa en 2 milisegundos, entonces una entrada 10¹¹ devolverá la salida aproximadamente en 10¹¹ milisegundos.

Ahora, en el escenario práctico, para un pequeño cambio en N, el cambio es el tiempo de ejecución no es tan visible para el ojo humano. Pero para un gran valor de N, la complejidad lineal es más profunda. Por lo tanto, la notación BigO sirve como parámetro de rendimiento para el algoritmo, es decir, si el algo es escalable para entradas grandes.

Foto cortesía: Janani Ravi, ex googler, ex Stanford, fundador de Loonycorn.

No, no puedes.

O (1) complejidad significa que usted hace el cálculo en un número constante de pasos, no importa cuán grande sea su entrada, en su caso para cada entrada está realizando un número constante de pasos, pero para las entradas [matemáticas] n [/ matemáticas] usted hace [matemáticas ] c * n [/ math] pasos. Entonces su complejidad es O (n).

No, es O (n)

Cada vez que obtiene la entrada e imprime la entrada (Cada estado de impresión) toma 2 * O (1), pero esta operación se realiza n veces para obtener la entrada e imprimirla 2 * n * O (1) = O ( n), por lo que la complejidad del tiempo para obtener la entrada y la impresión es 2 * O (n) … En los cálculos de complejidad del algoritmo ignoramos las constantes, por lo que la complejidad general de su programa O (n).

no, no es O (1)
Como está iterando, no está realizando ningún cálculo o evaluación en un solo paso.
p.ej
tienes que encontrar el mejor en 3 no. de matriz
si está haciendo con declaraciones if si es O (1)
si lo estás haciendo con iteración es O (n)
donde aquí solo hay tres entradas para que podamos realizarlas comparando pero para grandes números usamos para hacer iteraciones.

La orden 1 es una declaración ejecutada una vez que está bien para la ejecución en espera única

Para cada entrada individual puede ser O (1) pero no en general es como orden n complejidad.

Si tengo alguna otra idea se agregará.