Escolar Documentos
Profissional Documentos
Cultura Documentos
3
Anlisis
de
la
eciencia
de
los
algoritmos
Coste
asintDco
temporal
Javier
Vlez
Reyes
Jos
Ignacio
Mayorga
Toledano
jvelez@lsi.uned.es
nmayorga@lsi.uned.es
Departamento
de
Lenguajes
Y
Sistemas
InformDcos
UNED
Anlisis
de
la
eciencia
de
los
algoritmos
ndice
ndice
Introduccin
Qu es la eficiencia de los algoritmos?
Criterios de clasificacin del anlisis de la eficiencia
Mtricas de anlisis de la eficiencia de los algoritmos
Medida de la eficiencia de los algoritmos
Cmo se mide la eficiencia de los algoritmos?
Medida asinttica de la eficiencia
rdenes de complejidad
Bibliografa
3-2 Javier Vlez Reyes jvelez@lsi.uned.es Jos Ignacio Mayorga Toledano nmayorga@lsi.uned .es
Anlisis
de
la
eciencia
de
los
algoritmos
Obje6vos
generales
Obje8vos
Aprender qu es la eficiencia de los algoritmos
Aprender los criterios en torno a los cuales se puede clasificar la eficiencia
Conocer las principales mtricas de medida de la eficiencia
Aprender cmo se puede calcular el coste de un algoritmo bajo 3 supuestos
Medida del tiempo de ejecucin
Medida asinttica O
Hiptesis de caso peor
Aprender cmo se mide la eficiencia algortmica de
Algoritmos recursivos
Algoritmos iterativos
Adquirir una visin crtica sobre la complejidad algortmica
Adquirir herramientas para seleccionar el mejor algoritmo para un problema
Adquirir herramientas para seleccionar la estructura ms eficiente para un problema
3-3 Javier Vlez Reyes jvelez@lsi.uned.es Jos Ignacio Mayorga Toledano nmayorga@lsi.uned .es
Anlisis
de
la
eciencia
de
los
algoritmos
Introduccin
Denicin
El
anlisis
de
la
eciencia
de
los
algoritmos
es
un
estudio
terico,
formal,
compara6vo
e
independiente
de
la
implementacin
que
6ene
por
objeto
clasicar
a
los
algoritmos
en
familias
de
complejidad
de
acuerdo
a
cmo
se
comportan
segn
crece
la
magnitud
de
sus
parmetros
de
entrada
3-4 Javier Vlez Reyes jvelez@lsi.uned.es Jos Ignacio Mayorga Toledano nmayorga@lsi.uned .es
Anlisis
de
la
eciencia
de
los
algoritmos
Introduccin
} int i = p;
3-5 Javier Vlez Reyes jvelez@lsi.uned.es Jos Ignacio Mayorga Toledano nmayorga@lsi.uned .es
Anlisis
de
la
eciencia
de
los
algoritmos
Introduccin
3-6 Javier Vlez Reyes jvelez@lsi.uned.es Jos Ignacio Mayorga Toledano nmayorga@lsi.uned .es
Anlisis
de
la
eciencia
de
los
algoritmos
Introduccin
3-7 Javier Vlez Reyes jvelez@lsi.uned.es Jos Ignacio Mayorga Toledano nmayorga@lsi.uned .es
Anlisis
de
la
eciencia
de
los
algoritmos
Introduccin
3-8 Javier Vlez Reyes jvelez@lsi.uned.es Jos Ignacio Mayorga Toledano nmayorga@lsi.uned .es
Anlisis
de
la
eciencia
de
los
algoritmos
Introduccin
3-9 Javier Vlez Reyes jvelez@lsi.uned.es Jos Ignacio Mayorga Toledano nmayorga@lsi.uned .es
Anlisis
de
la
eciencia
de
los
algoritmos
Medida
de
la
eciencia
de
los
algoritmos
3 - 10 Javier Vlez Reyes jvelez@lsi.uned.es Jos Ignacio Mayorga Toledano nmayorga@lsi.uned .es
Anlisis
de
la
eciencia
de
los
algoritmos
Medida
de
la
eciencia
de
los
algoritmos
Constante. O (1)
3 - 11 Javier Vlez Reyes jvelez@lsi.uned.es Jos Ignacio Mayorga Toledano nmayorga@lsi.uned .es
Anlisis
de
la
eciencia
de
los
algoritmos
Medida
de
la
eciencia
de
los
algoritmos
Ordenes
de
eciencia
C a d a
o r d e n
d e
e c i e n c i a
representa
un
nivel
de
crecimiento
con
respecto
al
tamao
del
problema.
En
la
grca
adjunta
p u e d e
v e r s e
l a
r e l a c i n
compara6va
de
los
niveles
de
crecimiento
de
los
primeros
rdenes
de
eciencia
anteriores
3 - 12 Javier Vlez Reyes jvelez@lsi.uned.es Jos Ignacio Mayorga Toledano nmayorga@lsi.uned .es
Anlisis
de
la
eciencia
de
los
algoritmos
Medida
de
la
eciencia
de
los
algoritmos
Ordenes
de
eciencia
C a d a
o r d e n
d e
e c i e n c i a
representa
un
nivel
de
crecimiento
con
respecto
al
tamao
del
problema.
En
la
grca
adjunta
p u e d e
v e r s e
l a
r e l a c i n
compara6va
de
los
niveles
de
crecimiento
de
los
rdenes
de
eciencia
siguientes
a
n2
3 - 13 Javier Vlez Reyes jvelez@lsi.uned.es Jos Ignacio Mayorga Toledano nmayorga@lsi.uned .es
Anlisis
de
la
eciencia
de
los
algoritmos
Medida
de
la
eciencia
de
los
algoritmos
Algoritmos
recursivos
El
clculo
del
coste
temporal
de
un
algoritmo
recursivo
se
expresa
en
trminos
del
coste
de
los
casos
base
y
los
casos
de
recursin
del
mismo.
Para
ilustrar
cmo
se
procede
consideremos
la
funcin
del
clculo
de
un
nmero
factorial
en
su
versin
recursiva.
Entonces,
si
u6lizamos
T(n)
para
representar
el
coste
de
computar
la
ejecucin
con
tamao
n
C1
si
n
==
0
Coste caso base
int
factorial
(int
n)
{
if
(n
==
0)
return
1;
T
(n)
=
else
return
n
*
factorial
(n
-
1);
T
(n-1)
+
C2
si
n
>
0
Coste caso recurrente
}
3 - 14 Javier Vlez Reyes jvelez@lsi.uned.es Jos Ignacio Mayorga Toledano nmayorga@lsi.uned .es
Anlisis
de
la
eciencia
de
los
algoritmos
Medida
de
la
eciencia
de
los
algoritmos
Algoritmos
recursivos
Para
evitar
en
cada
caso
un
razonamiento
c1nk
si
n
<
d
similar
al
anterior,
podemos
derivar
una
frmula
general
de
clculo
en
funcin
de
la
T
(n)
=
3 - 15 Javier Vlez Reyes jvelez@lsi.uned.es Jos Ignacio Mayorga Toledano nmayorga@lsi.uned .es
Anlisis
de
la
eciencia
de
los
algoritmos
Medida
de
la
eciencia
de
los
algoritmos
Algoritmos
recursivos
Para
evitar
en
cada
caso
un
razonamiento
c1nk
si
n
<
d
similar
al
anterior,
podemos
derivar
una
frmula
general
de
clculo
en
funcin
de
la
T
(n)
=
3 - 16 Javier Vlez Reyes jvelez@lsi.uned.es Jos Ignacio Mayorga Toledano nmayorga@lsi.uned .es
Anlisis
de
la
eciencia
de
los
algoritmos
Medida
de
la
eciencia
de
los
algoritmos
Algoritmos
itera8vos
El
coste
temporal
de
un
algoritmo
itera6vo
se
calcula
acumula6vamente
a
par6r
del
coste
de
cada
una
de
sus
instrucciones
cons6tuyentes.
Estudiemos
su
coste
Instruccin Coste Instruccin Coste
3 - 17 Javier Vlez Reyes jvelez@lsi.uned.es Jos Ignacio Mayorga Toledano nmayorga@lsi.uned .es
Anlisis
de
la
eciencia
de
los
algoritmos
Medida
de
la
eciencia
de
los
algoritmos
Algoritmos
itera8vos
A
par6r
de
los
anlisis
anteriores
de
coste
de
cada
instruccin
analicemos
la
eciencia
de
un
algoritmo
itera6vo
3 - 18 Javier Vlez Reyes jvelez@lsi.uned.es Jos Ignacio Mayorga Toledano nmayorga@lsi.uned .es
Anlisis
de
la
eciencia
de
los
algoritmos
BibliograWa
BibliograJa
Bibliografa bsica
3 - 19 Javier Vlez Reyes jvelez@lsi.uned.es Jos Ignacio Mayorga Toledano nmayorga@lsi.uned .es
Anlisis
de
la
eciencia
de
los
algoritmos
BibliograWa
BibliograJa
Bibliografa complementaria
3 - 20 Javier Vlez Reyes jvelez@lsi.uned.es Jos Ignacio Mayorga Toledano nmayorga@lsi.uned .es