unidad 7 analisis de los algoritmos
TRANSCRIPT
![Page 1: UNIDAD 7 ANALISIS DE LOS ALGORITMOS](https://reader033.vdocuments.co/reader033/viewer/2022052411/557b8302d8b42aff318b5417/html5/thumbnails/1.jpg)
![Page 2: UNIDAD 7 ANALISIS DE LOS ALGORITMOS](https://reader033.vdocuments.co/reader033/viewer/2022052411/557b8302d8b42aff318b5417/html5/thumbnails/2.jpg)
• 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
![Page 3: UNIDAD 7 ANALISIS DE LOS ALGORITMOS](https://reader033.vdocuments.co/reader033/viewer/2022052411/557b8302d8b42aff318b5417/html5/thumbnails/3.jpg)
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
![Page 4: UNIDAD 7 ANALISIS DE LOS ALGORITMOS](https://reader033.vdocuments.co/reader033/viewer/2022052411/557b8302d8b42aff318b5417/html5/thumbnails/4.jpg)
• 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
![Page 5: UNIDAD 7 ANALISIS DE LOS ALGORITMOS](https://reader033.vdocuments.co/reader033/viewer/2022052411/557b8302d8b42aff318b5417/html5/thumbnails/5.jpg)
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
![Page 6: UNIDAD 7 ANALISIS DE LOS ALGORITMOS](https://reader033.vdocuments.co/reader033/viewer/2022052411/557b8302d8b42aff318b5417/html5/thumbnails/6.jpg)
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
![Page 7: UNIDAD 7 ANALISIS DE LOS ALGORITMOS](https://reader033.vdocuments.co/reader033/viewer/2022052411/557b8302d8b42aff318b5417/html5/thumbnails/7.jpg)
• 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
![Page 8: UNIDAD 7 ANALISIS DE LOS ALGORITMOS](https://reader033.vdocuments.co/reader033/viewer/2022052411/557b8302d8b42aff318b5417/html5/thumbnails/8.jpg)
• 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