¿Cuáles son los parámetros que afectan el tiempo de ejecución de un algoritmo?

El tiempo de ejecución de un algoritmo depende del número de iteraciones que tiene que pasar, o el número de veces que se ejecuta el algoritmo antes de llegar a la salida final y deseada.

Por ejemplo, dado un conjunto ordenado de enteros, se nos pide que proporcionemos un algoritmo con comprobaciones si el número x está presente en el conjunto o no. Luego hay 2 algoritmos más utilizados para esto:

  1. BÚSQUEDA LINEAL : Busca linealmente todos y cada uno de los elementos de una matriz desde el principio verifica el valor del índice de la matriz con x. Esta iteración continúa hasta que no se encuentra el número x. Entonces, la complejidad del tiempo en el peor de los casos sería O (n) donde n es el número de elementos de matriz. Lo que significa que, si la computadora tarda C segundos en ejecutar una declaración, en el peor de los casos el tiempo de ejecución sería [matemático] nC [/ matemático] segundos.
  2. BÚSQUEDA BINARIA: en esto, la matriz se divide en 3 partes, una parte izquierda, una parte derecha y el elemento central. El elemento del medio se verifica con x y si se encuentra igual muestra la salida. De lo contrario, si x es más pequeño que el elemento del medio, el algoritmo verifica la parte izquierda de la matriz de la misma manera. Si x es mayor que la parte media, entonces verifica la parte derecha. En este caso, la complejidad del tiempo en el peor de los casos es O (lg n). Suponiendo que la computadora tarda C segundos en ejecutar una instrucción, el tiempo de ejecución total en este caso para el peor de los casos sería [matemática] C.lg (n) [/ matemática] segundos.

Entonces, en estos dos casos, para cualquier número de entradas, el número de iteraciones en la búsqueda binaria siempre será menor que el número de iteraciones en la búsqueda lineal. Por lo tanto, el tiempo de ejecución del algoritmo de búsqueda binaria tomaría menos tiempo que el algoritmo de búsqueda lineal,

Espero que ayude.

More Interesting

¿Hay algún caso donde alguien de alguna manera descifró el algoritmo y engañó en el IITJEE?

¿Cómo se puede implementar un algoritmo de ordenación rápida en el cálculo Lambda?

¿Las personas aprenden algoritmos antes de aprender JavaScript?

Entre la ordenación rápida, la ordenación por inserción y la ordenación en montón, ¿cuál es la mejor para clasificar datos y por qué?

¿Se puede implementar BFS sin usar una cola? En caso afirmativo, ¿cuál es la mejor complejidad que se puede lograr?

¿Dónde puedo aprender los algoritmos de C ++ en línea?

No soy bueno en algoritmos, pero estoy tratando de descubrir algo. ¿Cuáles son algunas técnicas o libros o alguna sugerencia?

¿Cuáles son algunos ejemplos de colas de prioridad en Java?

¿Cuál es la diferencia básica entre loop y recursividad en C?

Cómo explicar el algoritmo 'Tamiz de campo numérico' a un programador con antecedentes matemáticos limitados

¿Necesito estudiar la teoría de estructuras de datos y algoritmos antes de resolver las preguntas en InterviewBit?

¿Cómo se determina la mejor, la media y la peor información dada sobre lo que devuelve un método después del bucle?

Cómo resolver un problema usando C ++

¿Cómo funciona el algoritmo de búsqueda de ciclo de Floyd? ¿De qué manera mover la tortuga al comienzo de la lista vinculada, mientras se mantiene a la liebre en el lugar de reunión, seguido de mover un paso a la vez, hace que se encuentren en el punto de inicio del ciclo?

¿Cómo analizaría la complejidad temporal de fibbonacci?