UNIDAD 7 ANALISIS DE LOS ALGORITMOS

8

Transcript of UNIDAD 7 ANALISIS DE LOS ALGORITMOS

Page 1: UNIDAD 7 ANALISIS DE LOS ALGORITMOS
Page 2: 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

Page 3: UNIDAD 7 ANALISIS DE LOS ALGORITMOS

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

• 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

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

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

• 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

• 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