Crea una cuenta o inicia sesión

¡Continúa aprendiendo sin ningún costo! Únete y comienza a potenciar tu carrera

Complejidad temporal

6/18
Recursos

La complejidad temporal es la cantidad de tiempo en el que un algoritmo tarda en ejecutarse. En otras palabras, cómo el algoritmo aumenta en el tiempo, con respecto a la cantidad de elementos de entrada que debe procesar.

Comparación de algoritmos

Comparemos dos algoritmos que resuelven un mismo problema: “Astronauta” y “Experto”. El primer algoritmo aumenta su tiempo de ejecución mientras más estudiantes sean ingresados. El tiempo de ejecución del segundo permanece constante.

Aunque ambos algoritmos resuelven el mismo problema, manejan sus tiempos de ejecución de manera diferente a medida que procesa más elementos.

Ejemplo de tiempos de ejecución para dos algoritmos diferentes

La siguiente gráfica muestra el tiempo de ejecución en función de la cantidad de elementos a procesar (inputs).

  • El algoritmo “Astronauta” tiene una tendencia lineal, es decir, mientras más elementos ejecute, más tiempo necesitará el programa.

  • El algoritmo “Experto” es constante, es decir, ejecuta la aplicación en el mismo tiempo para cualquier valor de elementos a procesar.

Representación gráfica de dos ejemplos de algoritmos

Por lo tanto, la complejidad no trata de cuántos segundos, aproximadamente, se tarda un algoritmo en ejecutar, sino de cómo aumenta el tiempo cuando existe una mayor o menor cantidad de elementos a procesar.

Contribución creada por Andrés Guano (Platzi Contributor).

Aportes 15

Preguntas 2

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

La complejida no se trata de cuando mas o menos se tarda sino como aumenta en el tiempo

Complejidad temporal: cuanto se demora un algoritmo en terminar.
Complejidad espacial: cuanta memoria operativa (RAM usualmente) es requerida por el algoritmo.

La medida del tiempo tiene que ser independiente:
– de la máquina
– del lenguaje de programación
– del compilador
– de cualquier otro elemento hardware o software que influya en el análisis.

Creditos: https://www2.infor.uva.es/~jvalvarez/docencia/tema5.pdf

La complejidad temporal se puede definir como la relación de crecimiento entre datos de entrada y tiempo de ejecución

⌛ Complejidad temporal

Apuntes

  • La complejidad temporal trata de medir un algoritmo según su tiempo
  • Su medición no se basa en medir totalmente un caso, sino medir el tiempo conforme va creciendo la cantidad de entradas
  • Su objetivo es revisar cuanto aumenta el tiempo a medida que crecen sus entradas
  • La complejidad temporal debe ser independiente
    • De la máquina
    • Del lenguaje de programación
    • Del compilador
    • De cualquier otro elemento hardware o software que influya en el análisis
📌 **RESUMEN:** La complejidad temporal trata de medir la eficiencia de un algoritmo conforme la cantidad de datos de entrada va aumentando.

La complejidad no es cuanto tarda un algoritmo en ejecutarse sino cuanto aumenta el tiempo a medida que crecen sus entradas

La complejidad temporal es la tasa de crecimiento del tiempo de ejecución del algoritmo en relación con el crecimiento de la entrada de datos del algoritmo.

Profe “ambos dos” está mal dicho, la RAE desaconseja su uso. Saludos.

Fuente: RAE.

Buena explicación del profe, messirve

Me quedó más claro la complejidad de un algoritmo en esta clase.

Una información interesante es que a la hora de medir la complejidad temporal, está debe ser independiente:
– de la máquina
– del lenguaje de programación
– del compilador
– de cualquier otro elemento hardware o software que influya en
el análisis.

Para conseguir esta independencia una posible
medida abstracta puede consistir en determinar
cuantos pasos se efectúan al ejecutarse el algoritmo.
más información acá

Básicamente hablan de la pendiente de una función. Me recuerda al calculo

Complejidad temporal

  • La complejidad temporal se puede definir como la relación de crecimiento entre datos de entrada y tiempo de ejecución, trata de medir la eficiencia de un algoritmo conforme la cantidad de datos de entrada va aumentando. Es decir que la complejida no se trata de cuando mas o menos se tarda sino como aumenta en el tiempo
  • La **complejidad temporal **se refiere al tiempo que un algoritmo necesita para completarse

  • Una forma común de medir la complejidad temporal es en función del tamaño de la entrada, es decir, cuánto tiempo toma el algoritmo para ejecutarse en función del tamaño de la entrada.

  • La complejidad lineal, que se da cuando el tiempo de ejecución es proporcional al tamaño de la entrada.

  • La complejidad cuadrática, que se da cuando el tiempo de ejecución es proporcional al cuadrado del tamaño de la entrada.

  • La complejidad logarítmica, que se da cuando el tiempo de ejecución es logarítmico con respecto al tamaño de la entrada

  • La complejidad constante, que se da cuando el tiempo de ejecución es independiente del tamaño de la entrada.

Qué buen trabajo con los slides :3

Complejidad temporal

La complejidad temporal no es una medida de cuánto tarda en ejecutarse un algoritmo sino de cómo varía el tiempo de ejecución cuando existe una variación en la cantidad de datos de entrada. La complejidad temporal no tiene unidad, es una medida relativa.

La complejidad temporal no es una medida de cuánto tarda en ejecutarse un algoritmo sino de cómo varía el tiempo de ejecución cuando existe una variación en la cantidad de datos de entrada. La complejidad temporal no tiene unidad, es una medida relativa.