Eficiencia de Algoritmos

Eficiencia de Algoritmos

Se dice que un algoritmo es eficiente cuando cumple sus objetivos utilizando la menor cantidad de recursos disponibles para su ejecución.

Un algoritmos es eficaz cuando cumple su objetivo primordial,.

Son dos conceptos diferentes que hay que tener claro.

Ingredientes de un programa eficiente:

  • Espacio: Cantidad de memoria usada.
  • Tiempo: Cantidad de tiempo desde que se inicia el algoritmo hasta que finaliza.

Esos son los ingredientes de un programa mas no de un algoritmo ya que del programa esos ingredientes dependen del compilador y computador donde se ejecute.




El algoritmo debe tener unos límites, un marco que servirá de guía para saber hasta qué punto se realizará el análisis.

Antes que nada unos conceptos:

Tamaño de ejemplar: Hace referencia al tamaño que se usará en la computadora para almacenar el caso que cumple con el problema que soluciona el algoritmo.
Por ejemplo se tiene el problema de ordenar, entonces cuando se está ordenando letras, el tamaño hace referencia al número bit que costará almacenar las letras que se desean ordenar.

Cuando se habla del diseño de un algoritmo existen dos de usar un algoritmo eficiente.
Una que es de la forma empírica(a posteriori), es forma consiste es básicamente en la marcha e ir creando el algoritmos y a prueba error ir corriéndolo.

Es como cuando tenemos un problemas y nos vamos de una vez al código y vamos corriendo dicho código para ver que errores tiene e ir corrigiendo el error que aparezca.

La segunda forma es la forma teórica( a priori) esta manera es mucho mas elaborada, ya que se tiene que determinar  la cantidad de recursos que se van a utilizar en función del tamaño del problema a solucionar. Recursos como lo son el tiempo de computación y el espacio de almacenamiento.

La medición de la eficiencia de un algoritmo no se puede medir en unidades, realmente se realiza es por medio de comparaciones.

Ahora existe una variable que afecta o determina la eficiencia de un algoritmo y esta es el tipo de caso que reciba el algoritmo.

BIBLIOGRAFIA


  • Fundamentos de algoritmos- G.Brassard
  • Manual Analisis de Algoritmos. inacap.cl


0 Comentarios