Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Universidad de Valladolid
Campus de Segovia
______________________
TEMA 5:
COMPLEJIDAD
ALGORÍTMICA
• Introducción.
• Conceptos básicos.
• Medidas de comportamiento asintótico.
• Reglas prácticas para hallar el coste
• Útiles matemáticos
INTRODUCCIÓN.
DEFINICIÓN DE ALGORITMO
Proceso
INTRODUCCIÓN.
CARACTERÍSTICAS DE UN
ALGORITMO
T(n)
type
tintervalo=0..N;
tvector=array[1..N] of integer
FUNCTION Busquedasecord(v:tvector;elem:telem):tintervalo
var
i:tintervalo;
begin En este algoritmo se pueda
i:=0; dar las siguientes situaciones:
- Caso mejor: el elemento este
repeat en la primera posición.
i:=i+1; - Caso peor: Se tenga que
until (v[i]>=elem) or (i=N); recorrer todo el vector.
- Caso promedio o esperado:
if v[i]=elem then Puesto que todas la posiciones
Busquedasecord:=i son equiprobables el tiempo
else será n/2 pasos
Busquedasecord:=0
End;
EL COSTE ESPERADO, EL MEJOR
Y EL PEOR. NOTACIÓN
Entonces:
n
Tmed ( n ) = ∑ T ( j ) P donde P =1 n
j =1
n
Tmed ( n ) = ∑ ( jk1 + k 2 ) =
1
j =1 n
n
k1 n
k 2 k1 (n + 1)n
=∑ j+∑ = + k2
j =1 n j =1 n n 2
k1 (n + 1) kn k
Tmed ( n ) = + k 2 = 1 + 1 + k 2 = c1n + c2
2 2 2
LO IMPORTANTE ES EL
COMPORTAMIENTO ASINTÓTICO
T(n)
n log n n n log n n2 n3 2n n!
50
en 2n2
40 8n
Pasos
30
20 20ln n
10
0
1 2 3 4 5
Tamaño datos
300
250
en 2n2 8n
200
P aso s
150
100
20ln n
50
0
1
11
13
15
17
19
21
23
25
Tamaño dato
NOTACIÓN ‘O’ MAYÚSCULA
Tmax(n)=k1n+k2 ≈ Θ(n)
PROPIEDADES DE LAS
NOTACIONES
• Si f1,g1,f2,g2:Z+ R+
∆ representa las tres
– Reflexividad: f∈∆(f); notaciones: O, Ω, Θ
• O(logan)=O(logbn)
n +1 2 n +1
x ( n + 1) 2 1 n 2
∫1 x dx =
2
=
2
− =
2 2
+n
1
( )
n
∑ i
i =1
K
∈ O n k +1
n +1 k +1 n +1
x ( n + 1) k +1 1
∫1 x dx = k + 1 = − ≈
k
1
k +1 k +1
k1 (n + 1)
k +1
( )
+ k 2 ∈ O n k +1
JERARQUÍA DE ÓRDENES DE
FRECUENTE APARICIÓN
TI1,I2(n)=T1(n)+T2(n)
Tselección(n)=Tcondición(n)+max(T1(n),T2(n))
– Case <expresión> of
caso1: I1;
caso2: I2;
.....
.....
cason: In;
end; {case}
Tselección(n)=Texpresión(n)+max(T1(n),....,Tn(n))
INSTRUCCIONES DE ITERACIÓN:
BUCLES
Tbucle ( n ) = m (1 + TI ( n ) )
FUNCTION Fac(n:integer):integr;
Begin
if n=0 then
Fac:=1
else
Fac:=n*Fac(n-1)
End;{Fac}
− Sucesión aritmética xn = xn −1 + r
n
( x1 + xn )n
∑x
i =1
n =
2
1− xn
1 + x + x 2 + ... + x n −1 =
1− x
∞
1
∑
i =1
x =1 + x + x + ... =
i 2
1− x
si x <1
∞
xi
∑
i =1 i!
= ex
∞
xi
∑ (− 1) = log x
i
i =1 i
SUCESIONES DE RECURRENCIA
LINEALES DE PRIMER ORDEN
xn = c xn −1 = c x0
n
xn = bn xn −1 para un n ≥ 1
xn = b1 b2 .... bn x0
xn = bn xn −1 + cn
realizando el cambio :
xn = b1 b2 .... bn yn
en la recurrencia de xn +1
xn +1 = bn +1 xn + cn +1
⎛
xn = b ⎜⎜ x0 + c
n (
1− b ⎞ n
⎟
)
n ⎟
⎝ (1 − b )b ⎠