You are on page 1of 2

ANALISIS DE ALGORITMOS

El análisis de algoritmos da algoritmos es el de la ciencia de la computación o informática


que proporciona herramientas para contrastar la eficiencia de los diferentes métodos.
Para comparar la eficiencia de tiempo de dos algoritmos se han de considerar al menos
las siguientes premisas:

¿Cómo se codifican los algoritmos?


¿Qué computadora se debe utilizar?
¿Qué datos debe utilizar la computadora?

El análisis de algoritmos debe ser independiente de implementaciones especificas,


computadoras y datos. Mediante el análisis de algoritmos es posible establecer la calidad
de un programa y compararlo con otros programas sin necesidad de resolver el mismo
problema. De este modo, para evaluar un algoritmo se consideran 3 puntos:

1.- el algoritmo cumple la especificación dada y funciona para cualquier posible valor de
los datos que manipula.
2.-el algoritmo es fácil de codificar y depurar incluso por personal que no sea el diseñador.
3.-no exista otro algoritmo que resuelva el problema utilizando menos recursos.

Para la evaluación del tiempo se suele suponer una computadora ideal. La cantidad de
tiempo, llamada complejidad, será una función T(n), donde n hace referencia a una
medida de los datos. Es decir TA(n) se define como el tiempo empleado por el algoritmo A
en procesar una entrada de tamaño n y producir una solución al problema, así cuando se
dice que la complejidad de un algoritmo es una función T(n)(por ejemplo n2) se supone
que el tiempo de ejecución del algoritmo es proporcional a T(n)2. La constante de
proporcionalidad depende de la computadora.
La notación O grande permite analizar la eficiencia de un algoritmo, se dice que una
función f(n) es O (g(n)) si al aumentar el numero de datos que se deben procesar, el
tiempo del algoritmo va a crecer como lo hace g en relación a n.

Tasas de crecimiento aproximadas con respecto a diferentes métodos de ordenación:

Ordenación por: caso peor. Caso medio

Selección n2 n2
Burbuja n2 n2
Inserción n2 n2
Mezcla n * log n n * lon n
Rapida (quicksort) n2 n * log n
Radix n * log n n * log n
Montículo. n * log n n * log n

TABLA DE TIEMPOS DE EJECUCIÓN


Tiempos de ejecución en un máquina capaz de ejecutar 109 pasos de programa
por segundo para tallas (n) y costes (en número de pasos) dados.

You might also like