Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Unidad 1 Est Dat - Analisis de Algoritmos
Unidad 1 Est Dat - Analisis de Algoritmos
Unidad 1 Est Dat - Analisis de Algoritmos
ESTRUCTURAS DE DATOS
Definicin
Conjunto
de
funciones
cuyo
crecimiento es menor o igual a f
Conjunto de funciones cuyo ritmo de
crecimiento es mayor o igual a f
Conjunto de funciones con el mismo
ritmo de crecimiento en E(n) y T(n)
ARITMTICA DE LA NOTACIN O
2
ESTRUCTURAS DE DATOS
For(i=0;i<n;i++)
1, n+1,n =
Suma+=i ;
una asignacin
2n
2n+2
T(n) = 4n+3
Esto es si n = 2
1, n+1, n
For(i=0;i<n;i++)
1, n+1,n =
Suma+=i ;
=
2n+2
2n+2 + 4n 2+2n
T(n)=
(4n+2)(n)= 4n2+2n
2n
Else
3
ESTRUCTURAS DE DATOS
Suma=i; 1
Para simplificar el estudio de la complejidad se han adoptado ciertas
convenciones y una de ellas es la del concepto de ORDEN, que indica el grado
de Complejidad del algoritmo.
A partir de la funcin de tiempo, para determinar el orden el orden del
algoritmo se eliminan todos los trminos excepto el de mayor grado, despus
se elimina el coeficiente del trmino.
El concepto de orden de complejidad indica el grado o clasificacin de
complejidad del algoritmo, as para T(n)=7n 2+11n+6 tenemos que n2 es el
orden de complejidad del algoritmo, es decir O(n 2).
Ordenes de Complejidad
Entre los principales rdenes de complejidad se encuentran los siguientes:
O (1) Orden Constante
O (log n) Orden Logartmico
O(n) Orden lineal
O(n log n) Orden Cuasi-lineal
O (n2) Orden Cuadrtico
O (n3) Orden cbico
O (n a) Orden Polinomial
O (an) Orden Exponencial
O (n!) Orden Factorial
La complejidad constante: Indica cuando las instrucciones se ejecutan una
sola vez.
Complejidad Logartmica: Suele aparecer en determinados algoritmos y se
considera un caso especial pues en el doble de tiempo permiten resolver
problemas notablemente mayores y para resolver un problema doblemente
mayor solo hace falta un poco ms de tiempo pero nunca el doble.
Complejidad Lineal: Es una complejidad buena y tambin muy usual su
comportamiento es ms natural es decir con el doble de datos a procesar nos
dar el doble de tiempo de ejecucin. Aparece en la evaluacin de ciclos
simples siempre que la complejidad de las instrucciones anteriores sea
constante.
Complejidad Cuasi-lineal: Se encuentra en algoritmos de tipo divide y
vencers como el mtodo de ordenacin QuickSort. Se considera una buena
4
ESTRUCTURAS DE DATOS
1000
800
600
400
200
ESTRUCTURAS DE DATOS