01 Complejidad Algoritmica
-
Upload
pablo29666 -
Category
Documents
-
view
234 -
download
0
Transcript of 01 Complejidad Algoritmica
-
8/18/2019 01 Complejidad Algoritmica
1/26
Análisis de
algoritmosProfra. Consuelo Varinia García Mendoza
-
8/18/2019 01 Complejidad Algoritmica
2/26
Introducción¿Qué es un algoritmo?
¿Por qué elaoramos algoritmos
com!utacionales?¿Qué algoritmos conoces?
¿"as com!arado los algoritmos que elaorascon otros que resuel#an el mismo !rolema?
¿Qué metodología$ técnica o estratégicautilizas cuando dise%as un algoritmo?
¿ Qué estudiaremos en &n'lisis de&lgoritmos?
-
8/18/2019 01 Complejidad Algoritmica
3/26
(emarioI. (écnicas de an'lisis
II. )strategias de dise%oIII. Com!letitud *P
-
8/18/2019 01 Complejidad Algoritmica
4/26
+iliografía recomendada+aase$ ,. Van Gelder$ &. -//01. Algoritmos Computacionales -23 )d.1. Mé4ico5 )d. Pearson. I,+*6025 7896//0:0;;9.
+rassard$ G. -07781. Fundamentos de Algoritmia. )s!a%a5 )d.Prentice "all. I,+* 9;97::///eiserson$ C. @i#est @. -//21. Introduction toalgorithms -3 )d.1 )stados Anidos de &mérica5 MI( !ress.
//2. I,+*6025 7896//878/B;9.
"arel$ . -//;1. Algorithmics: The spirit of Computing -2rd.)d1. )stados Anidos de &mérica5 &ddison DesleE. I,+*60257896/200089;8.
-
8/18/2019 01 Complejidad Algoritmica
5/26
)#aluación
2/F )4amen
2/F Partici!aciones$ tareas$ acti#idades enclase E !racticas
2/F Practicas
-
8/18/2019 01 Complejidad Algoritmica
6/26
(area
-
8/18/2019 01 Complejidad Algoritmica
7/26
La complejidad delos algoritmos
&n'lisis de &lgoritmos
Profra. Consuelo Varinia García Mendoza
-
8/18/2019 01 Complejidad Algoritmica
8/26
)l meor algoritmoiferentes algoritmos !ueden resol#er el
mismo !rolema. -reconocimiento de rostros$seguridad inform'tica$ encri!tación$geolocalización con dis!ositi#os mó#iles1
¿Qué criterios tomarías en cuenta !araseleccionar uno de ellos?
-
8/18/2019 01 Complejidad Algoritmica
9/26
Criterios de eleccióne acuerdo a los recursos+uscar el algoritmo m's adecuado al
dis!ositi#o del que dis!onemos -anco deanda$ es!acio en memoria$ atería$ cóm!uto!aralelo -cluster1$ acceso a internet1.
)Hciencia)l que tarde el menor tiem!o en eecutarse
-
8/18/2019 01 Complejidad Algoritmica
10/26
(iem!o de )ecución -()1¿Cómo !odemos conocer el tiem!o de
eecución de un algoritmo?$¿este tiem!o ser' igual en todos losdis!ositi#os ?
¿de qué factores #a a de!ender?$
-
8/18/2019 01 Complejidad Algoritmica
11/26
¿e que de!ende el () de unalgoritmo?
(ama%o de entrada -dimensión del #ector quese #a a ordenar$ de las matrices que semulti!licaran$ etc.1
e la entrada misma -!or eem!lo que los datosestén ordenados1
Velocidad del !rocesador>a calidad del !rograma oeto generado !or el
com!iladorCom!leidad del !ro!io algoritmo
-
8/18/2019 01 Complejidad Algoritmica
12/26
¿Cómo se !uede medir el () de los
algoritmos?
Medida teóricaMedida real
-
8/18/2019 01 Complejidad Algoritmica
13/26
Medida @eal)ecutado los algoritmo con #alores de entrada
determinados$ en un ordenador concreto.
¿)4iste alguna funciones en C E a#a !uedamedir el tiem!o de eecución de un!rograma?
¿)4iste alguna función que !ermita medir eltiem!o de eecución de cada o!eraciónelemental?
-
8/18/2019 01 Complejidad Algoritmica
14/26
Medida (eórica)ncontrando T(n)
)n un ordenador idealizado !ara una
entrada de tama%o nConsiderando el tama%o de la entrada $
!ero no su naturaleza.
onde cada o!eración elemental tomar'el mismo tiem!o en eecutarseinde!endientemente del ordenador odis!ositi#o en que se eecute
-
8/18/2019 01 Complejidad Algoritmica
15/26
T(n)
-
8/18/2019 01 Complejidad Algoritmica
16/26
T(n)
-
8/18/2019 01 Complejidad Algoritmica
17/26
¿Cómo se otiene T(n)?
)n función del nJmero de o!eraciones elementales
-K)1.
K!eraciones aritméticas 'sicas&signaciones a #ariales>lamadas a funciones E !rocedimientosCom!araciones lógicas&cceso estructuras inde4adas 'sicas -#ectores E
matrices1
-
8/18/2019 01 Complejidad Algoritmica
18/26
@ecomendaciones al realizar la
medida teórica
@ealizar el estudio ase al conunto de
sentencias$ que caracterizan que el algoritmosea r'!ido o lento.
Para facilitar el calculo se su!ondr' que los
tiem!os de las diferentes K) son los mismos.
-
8/18/2019 01 Complejidad Algoritmica
19/26
)em!lo)ncontrar la !osición de un entero dado c
dentro de un #ector ordenado de enteros detama%o n$ de#ol#iendo cero si el elemento noest' en el #ector.
-
8/18/2019 01 Complejidad Algoritmica
20/26
IdentiHcar K)0. iL0
. ile -aNiO c n1
2. LR0S
;. if -aNO1LLc1
B. return S
:. else
8. return /S
TT una asignación 0
TTdos com!araciones$ un acceso a #ector E un and ;
TT un incremento E una asignación
TTun acceso a #ector E una asignación
TT un return si la condición se cum!le 0
TT un return si la condición no se cum!le 0
-
8/18/2019 01 Complejidad Algoritmica
21/26
Casos de estudioCaso meor
Caso !eorCaso medio
-
8/18/2019 01 Complejidad Algoritmica
22/26
M
e G o r
c a s o
0. iL0
. ile -aNiO c n1
2. LR0S
;. if -aNO1LLc1
B. return S
:. else
8. return /S
0
TT cortocircuito ;6U
4
0
0
T(n)=1+2+2+1=6
-
8/18/2019 01 Complejidad Algoritmica
23/26
P e o r c
a s o
0. iL/
. ile -aNiO c n1
2. LR0S
;. if -aNO1LLc1
B. return S
:. else
8. return /S
0
;
0
0
n
-
8/18/2019 01 Complejidad Algoritmica
24/26
C
a s o m
e d i o
0. iL0
. ile -aNiO c n1
2. LR0S
;. if -aNO1LLc1
B. return S
:. else8. return /S
0
;
0
0
-n601 T
-
8/18/2019 01 Complejidad Algoritmica
25/26
)ercicios&lgoritmo 0 -"acer como eem!lo1&lgoritmo
&lgoritmo 2
-
8/18/2019 01 Complejidad Algoritmica
26/26
Podría com!lementarse con los eercicios deordenamiento