Upload
victor-hugo-orellana-jaque
View
38
Download
0
Embed Size (px)
Citation preview
Alumno : Víctor Hugo Orellana Jaque!Análisis de Algoritmos Sección 112!Profesora : Sra. Pilar Pardo Hidalgo!
25-junio-2014!
¿Qué es la complejidad de un algoritmo?!
² Se expresa en función del tamaño que se desea resolver"
² Es una medida de la cantidad de recursos que necesita un algoritmo"
Recurso Definición de complejidad del algoritmo
Espacio Can+dad de memoria requerida para su ejecución También está asociada a las estructuras de datos usadas en su implementación
Tiempo Se asocia a la can+dad de +empo que necesita el algoritmo para realizar la ejecución de sus operaciones
Cada algoritmo se comporta diferente , dependiendo de las variables de entrada que posea
(como entreguen la información). Por ende, se debe estudiar su
comportamiento en casos extremos. !
Complejidad!
• Peor caso : Indica cuántas operaciones tienen que realizar los algoritmos para garantizar que se producirá una solución"
• Caso Promedio : Se busca el promedio de operaciones realizadas para solucionar un problema considerando toda posible entrada con un tamaño determinado"
Tiempo de Ejecución!
"• Se mide con la función T(n)"• Se puede medir físicamente ejecutando
el programa, contando las instrucciones a ejecutar multiplicado por el tiempo que se demora en ejecutar cada instrucción."
Notación Asintótica!• Matemáticamente hablando : N -> ∞"• Esta función analiza el comportamiento de
las funciones en base a su tasa de crecimiento"
• La complejidad del algoritmo se denota según la notación Big-O"
• N debe ser número natural."
Ventajas y Desventajas : Matriz de Adyacencia!
Ventajas Desventajas
Se puede determinar en un +empo fijo y constante si un enlace pertenece o no al grafo.
Se requiere almacenamiento |v*v| . O sea O(n2).
Es fácil determinar si existe o no un arco o enlace, sólo se debe posicionar en la matriz.
Sólo al leer o examinar la matriz puede llevar un +empo de sea O(n2) , siendo por ende, demoroso.
Es fácil determinar si existe un ciclo en el grafo, para eso se debe mul+plicar la matriz por ella misma “n” veces hasta obtener una matriz nula (Matriz solo con valores 0) o bien, una sucesión periódica de matrices (hay ciclo)
Familia de Funciones Asintóticas!Complejidad Terminología
O(1) Complejidad constante
O(n2) Complejidad cuadrá+ca
O(log n) Complejidad logarítmica
O(n) Complejidad lineal
O(n log n) Complejidad casi-‐lineal
O(nb) Complejidad polinómica
O(bn) Complejidad exponencial
O(n!) Complejidad factorial