UNIDAD 7 ANALISIS DE LOS ALGORITMOS
Transcript of UNIDAD 7 ANALISIS DE LOS ALGORITMOS
• El análisis de algoritmos es una parteimportante de la Teoría de complejidadcomputacional, que provee estimacionesteóricas para los recursos que necesitacualquier algoritmo que resuelva unproblema computacional dado.
2
Un algoritmo es una secuencia de pasos lógica paraencontrar la solución de un problema.Todo algoritmo debe contar con las siguientescaracterísticas:
1. Preciso: cada paso del algoritmo tiene una relacióncon el anterior y el siguiente.
2. Definido: ejecutar más de una vez con los mismosdatos y el resultado es el mismo.
3. Finito: el algoritmo tiene una serie de pasos definidoso que tiene un fin.
3
• La complejidad algorítmica representa lacantidad de recursos (temporales) quenecesita un algoritmo para resolver unproblema y por tanto permite determinar laeficiencia de dicho algoritmo.
• Los criterios que se emplean para evaluar lacomplejidad algorítmica no proporcionanmedidas absolutas sino medidas relativas altamaño del problema.
4
1. Determinar qué operaciones se emplean y sucosto relativo.
2. Determinar conjuntos de datos y todos lospatrones posibles de comportamiento.
3. Análisis a priori: determina una función (deciertos parámetros) que acote el tiempo decómputo del algoritmo.
4. Análisis a posteriori: estadísticas reales sobretiempo y memoria.
5
El tiempo de ejecución de un algoritmo, se refiere ala suma de los tiempos en los que el programatarda en ejecutar una a una, todas susinstrucciones.
Tomando en cuenta que cada instrucción requiereuna unidad de tiempo, dicho tiempo se puedecalcular en función del número de datos.
6
• Se refiere a la memoria que utiliza unprograma para su ejecución; es decir, elespacio de memoria que ocupan todas lasvariables propias del programa.
• Dicha memoria se divide en Memoriaestática y Memoria dinámica.
7
• Un algoritmo es eficiente cuando logra llegar asus objetivos planteados utilizando la menorcantidad de recursos posibles, es decir,minimizando el uso memoria, de pasos y deesfuerzo humano.
• Espacio: medida de la cantidad de memoriarequerida por un programa.
• Tiempo: la cantidad de tiempo de ejecución delprograma
8