Presentacion para analisis de algoritmo

15
Complejidad de un algoritmo Alumno: Samuel Muñoz

Transcript of Presentacion para analisis de algoritmo

Complejidad de un algoritmo

Alumno: Samuel Muñoz

¿Qué es una complejidad de algoritmo?

• es una “MEDIDA” que hace referencia al tiempo y uso que consume un programa en un dispositivo determinado

La complejidad de un algoritmo se vera estrictamente reflejada por el tamaño de lo que uno desea realizar

•El espacio donde se trabajara en el algoritmo es uno de los factores a respetar ya que hace referencia a la memoria que se utilizara, por ende es una limitante

Si fuese tiempo hace referencia a lo que tarde el algoritmo en ejecutarse

Los algoritmo se comportan de acuerdo a la cantidad y al como se le entregue la información a trabajar

Siempre es conveniente analizar y/o estudiar los algoritmos con el fin de saber como funcionan y de esta manera entenderlos mejor.

Complejidad del Peor caso• El peor caso nos dará a conocer la cantidad

de operaciones que serán necesarias para llegar a concretar una solución.

Complejidad del caso promedio

• En este caso se busca el promedio de operaciones realizadas para la solución de un problema “X” dependiendo de las entradas con las que este trabaje

Complejidad mejor caso

• Corresponde al caso que con la menor cantidad de tareas o menor tiempo se logra el resultado esperado

Tiempo de ejecución

-Es el principal interés del análisis de algoritmos-Dependerá de la cantidad de instrucciones que realiza el algoritmo-Se denota como T(n)-El tiempo total es la suma de los tiempos de cada instrucción

Tiempo total = tiempo (instrucción 1) + tiempo (instrucción 2) +... + tiempo (instrucción k)

GENERALMENTE LOS PROBLEMAS PEQUEÑOS NO SON MAYORMENTE COMPLICADOS EN SOLUCIONAR, SIN EMBARGO LOS PROBLEMAS GRANDES REQUIEREN DE UN BUEN ANALISIS PARA SU RESOLUCION

Es por esto que siempre debemos estar estudiando el comportamiento de los algoritmos…

Siempre es de importancia analizar la potencia de los algoritmos esto fuera de la potencia de HW que este disponible

• Es una notación matemática usada en algoritmos que indica el comportamiento límite de una función. A este tipo de notación se le llama "notación asintótica", "notación Landau" o "notación Big O".

¿Qué es asintótica?

• Complejidad Terminología• O(1) Complejidad constante• O(log n) Complejidad logarítmica• O(n) Complejidad lineal• O(n log n) Complejidad n log n• O(n^b) Complejidad polinómica• O(b^n) Complejidad exponencial• O(n!) Complejidad factorial