Antes de poder analizar en qué consiste la eficiencia en un algoritmo es necesario tener una noción de que significa ser eficiente.

“La eficiencia consiste en utilizar la menor cantidad de recursos posibles para realizar una tarea u objetivo”

Al momento de crear un algoritmo se busca que este sea eficiente, esto quiere decir que se realice una acción en el menor tiempo posible (tiempo de ejecución). Esto se puede apreciar mejor al comparar dos programas que realizan la misma acción, pero difieren entre sí en el tiempo que demoran en realizar la acción y la cantidad de recursos que utilizan del sistema.

eficiencia

En la imagen se puede apreciar que ambos deben de realizar una entrega (acción), pero el tiempo (tiempo de ejecución) que le tomará a la persona en motoneta será menor que la persona que va en bicicleta. Por ende  la persona de la motoneta está siendo eficiente, mientras que la persona de la bicicleta está siendo eficaz.

“eficaz consiste en lograr el objetivo que se plantea.”