La complejida no se trata de cuando mas o menos se tarda sino como aumenta en el tiempo
Fundamentos de Algoritmos
Todo lo que aprenderás sobre complejidad algorítmica con JS
Estructura de un algoritmo
¿Cómo elegir un buen algoritmo?
Complejidad algorítmica
Introducción a complejidad algorítmica
Complejidad espacial
Complejidad temporal
Complejidad temporal en práctica
Complejidad espacial en práctica
El estado de la complejidad
Análisis asintótico
Introducción a análisis asintótico
Notación Big-O
Cálculo de la notación Big-O
Evaluación de complejidad temporal con Big-O
Evaluación de complejidad espacial con Big-O Avanzado
Recomendaciones
Recomendaciones para la evaluación de algoritmos
Notas sobre algoritmos
Cierre del curso
Bonus
Determinando la complejidad un algoritmo avanzado
Crea una cuenta o inicia sesión
¡Continúa aprendiendo sin ningún costo! Únete y comienza a potenciar tu carrera
Marcelo Arias
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.
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.
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.
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
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
📌 **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.
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
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
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.
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?