HAns
La eficiencia suele medirse en términos de consumo de recursos:
Espaciales: cantidad de memoria que un algoritmo consume o utiliza durantesu ejecución Complejidad espacial
Temporales: tiempo que necesita el algoritmo para ejecutarse Complejidad temporal
Objetivo: encontrar algoritmos con la menor complejidad espacial y temporalMenor complejidad espacial suele implicar mayor complejidad temporal
Factores que influyen en la complejidad
Tamaño del problema
Naturaleza de los datos de entrada
Recursos hardware y softwareTamaño del problema: magnitud(es) que al aumentar incrementan la complejidad del algoritmo.
Ejemplos:
Ordenación de un vector: número de elementos
Factorizar un número en sus factores primos: valor delnúmero
Naturaleza de los datos de entrada: en función de cuáles sean los datos del problema se ejecutarán o no determinadas instrucciones de decisión y será distinto el número de iteraciones de losbucles el problema se resolverá en más o en menos tiempo.
Ejemplo:
buscar en un vector el valor que está almacenado en la primera celda resulta trivial en la búsqueda lineal.
Caso mejor: losdatos de entrada consumen el mínimo
Caso peor: los datos de entrada consumen el máximo (cota superior).
Caso promedio: los datos se distribuyen de forma aleatoria. Difícil de calcular.
•Análisis Probabilístico: Es el tiempo de ejecución esperado
para una entrada aleatoria. Se expresa tanto el tiempo de
ejecución y la probabilidad de obtenerlo.
• Análisis Amortizado: El tiempo que seobtiene para un
conjunto de ejecuciones, dividido por el número de ejecuciones.
Ej.:
Para cada problema determinaremos una medida N de su tamaño (por número de datos) eintentaremos hallar respuestas en función de dicho N. El concepto exacto que mide N depende de la naturaleza del problema. Así, para un vector se suele utilizar como N su longitud; para una matriz, el...
Regístrate para leer el documento completo.