Академический Документы
Профессиональный Документы
Культура Документы
1
Algoritmos y Estructuras de Datos I
Simplificación: t1=t2=….tk=cte=1
k
CT = ∑ f = Nro de pasos
i =1
Para un algoritmo
Entrada : Datos que se ingresan al algoritmo
Instancia: Valor particular de la entrada.
Paso: Instrucción simple
Instrucción simple: calculo de variables simples.
Entrada: A, B ∈ Μ (m × n ), m, n
Salida: C = A + B ∈ Μ (m × n ) cij = aij + bij
Fin Para
Fin Para
2
Algoritmos y Estructuras de Datos I
j =1
Ejemplo 2: Factorial
Entrada: n
Salida : n!
Si n=0 entonces
nfactorial =1
Caso contrario
aux =1
Para i=1 hasta n hacer
aux = aux * i
Fin Para
nfactorial = aux
Fin Si
1
pj = j = 0,1,K , n
n +1
3
Algoritmos y Estructuras de Datos I
1 1 n 1 n
CCM = + ∑ j + n +1∑3
n + 1 n + 1 j =1 j =1
1 1 n 1
CCM = + ∑
n + 1 n + 1 j =1
j +3
n +1
1 1 n(n + 1) 3n
CCM = + ⋅ +
n +1 n +1 2 n +1
CCM =
1
(1 + 3n ) + n ~ O(n )
n +1 2
ch h A partir de un punto, h
siempre será mayor que
f. Siempre la velocidad
f
de crecimiento de h es
mayor que f.
4
Algoritmos y Estructuras de Datos I
Ejemplos:
( )
3n 2 + 5 ~ Ο n 2
5n 3 ~ O ( n 3 )
n + n3 ~ O n3 ( )
5nm ~ O(nm )
3n + 4m + 10 ~ O(n + m )
Propiedades
1) O( f ) + O( g ) = O( f + g )
2) O( f ) ⋅ O( g ) = O( f ⋅ g )
3) k cte > 0 O(kf ) = kO( f ) = O( f )
4) f ~ O(h ), h ~ O( g ) ⇒ f ~ O( g )
5) h ≥ g O( g + h ) = O(h )
5
Algoritmos y Estructuras de Datos I
Aplicación 1: Búsqueda
Problema: Dado un conjunto de n elementos S = {x1 , x 2 ,K, x n } y
un elemento x. Determinar si x pertenece a S.
Algoritmo1: Búsqueda lineal
Entrada: n, S, x
Salida: SI, NO
6
Algoritmos y Estructuras de Datos I
1 − q n(n + 1)
CCM = ⋅ + qn
n 2
CCM =
(1 − q )(n + 1) + qn
2
7
Algoritmos y Estructuras de Datos I
Ejemplo 1: Factorial
Def.
n! = 1 si n=0
n!= 1*2*3*4…*(n-1) * n, n ∈ Ν
Prop: n!=n*(n-1)!
8
Algoritmos y Estructuras de Datos I
Entrada: n ∈ N
Salida: n!
Procedimiento FACTO(k)
Si k<=1 entonces
fact =1
Caso contrario
fact =k*FACTO(k-1)
Fin Si
Fin Procedimiento
Complejidades
Sea T(n)= tiempo en calcular n!
T(n) = T(n-1)+1
=[T(n-2)+1]+1= T(n-2)+2
=[T(n-3)+1]+2= T(n-3)+3
.
.
.
=T(n-i)+i si i=n-1
=T(1)+n-1
=1+n-1
=n
9
Algoritmos y Estructuras de Datos I
En factorial
T(n)=T(n-1)+1
Tenemos
a=1
b=1
k=0
O(n)=nk+1
10
Algoritmos y Estructuras de Datos I
Ejemplo:
T(n)=T(n/2)+1
a=1
b=2
k=0
T(n)~O(log n)
11