SlideShare una empresa de Scribd logo
1 de 23
Análisis de
Algoritmos
Análisis de Algoritmos
Qué es Complejidad?.
Ordenes de Complejidad.
Complejidad de instrucciones básicas.
Algunos problemas clásicos.
Complejidad
¿Qué entiende Ud. por complejidad?
¿Cómo se mide la complejidad?
¿La complejidad está asociada a un problema o a una solución del
problema?
¿La complejidad depende de la implementación?
Complejidad
¿Qué se entiende por complejidad?
La Complejidad es una medida de laLa Complejidad es una medida de la
cantidad que consume un algoritmo de uncantidad que consume un algoritmo de un
recurso determinado.recurso determinado.
Complejidad
Problema: Pregunta sobre un conjunto dePregunta sobre un conjunto de
datos.datos.
Solución:Solución: Método general para resolverMétodo general para resolver
todas las posibles preguntas.todas las posibles preguntas.
Complejidad
Problema: XX = { (p(x),r(x)) | x= { (p(x),r(x)) | x ∈∈ D }.D }.
Solución:Solución: Es una relación A: PEs una relación A: P  R talR tal
que para cada preguntaque para cada pregunta
posible p, (p,A(p))posible p, (p,A(p)) ∈∈ XX..
Para un problemaPara un problema XX existen preguntas másexisten preguntas más
difíciles de resolver o más grandes que otras.difíciles de resolver o más grandes que otras.
Complejidad
Problema:
XX = { ((a,k),i) | a=A[0..n-1]= { ((a,k),i) | a=A[0..n-1] ∧∧
00 ≤ i ≤ n-1≤ i ≤ n-1 ∧∧
a[i] = ka[i] = k}.}.
Solución:Solución: Algoritmo de Búsqueda Lineal.Algoritmo de Búsqueda Lineal.
BL responde preguntas fáciles y preguntasBL responde preguntas fáciles y preguntas
difícilesdifíciles (¿de que depende la dificultad?).(¿de que depende la dificultad?).
Complejidad
Si el recurso es espacio:Si el recurso es espacio:
Cantidad de memoria requeridaCantidad de memoria requerida
para una ejecución.para una ejecución.
Si el recurso es tiempo:Si el recurso es tiempo:
Cantidad de tiempo requeridoCantidad de tiempo requerido
para una ejecución.para una ejecución.
n + 2n + 2..
depende!depende!
Complejidad
Búsqueda en un arregloBúsqueda en un arreglo::
{Pre Q: a=A[0..n-1]{Pre Q: a=A[0..n-1] ∧∧ x=X}x=X}
i:=0;i:=0;
dodo (i(i ≠ n≠ n ∧∧ a[i]≠x)a[i]≠x)  i:=i+1i:=i+1 odod
{Pos R: (i=n{Pos R: (i=n ∧∧ XX∉∉A)A) ∨∨ (0≤i<n(0≤i<n ∧∧ A[i]=X)}A[i]=X)}
Operación básica: Comparación.Operación básica: Comparación.
Si X está en la posición k: k +1 comparaciones.Si X está en la posición k: k +1 comparaciones.
Si X no está en A: n comparaciones.Si X no está en A: n comparaciones.
Complejidad
Búsqueda en un arregloBúsqueda en un arreglo::
TTBLIBLI (n) = n(n) = n en el peor caso.en el peor caso.
TTBLIBLI (n) = n – a(n-1)/2(n) = n – a(n-1)/2 en el caso promedio.en el caso promedio.
Complejidad
Búsqueda en un arregloBúsqueda en un arreglo::
TTBLIBLI (n) = n – a(n-1)/2(n) = n – a(n-1)/2 en el caso promedio.en el caso promedio.
TTBLIBLI (n) = (+ k | 0(n) = (+ k | 0≤k≤≤k≤n : qn : qnn(k) T(k) TBLIBLI(k))(k))
= (+ k | 0= (+ k | 0≤k<≤k<n : qn : qnn(k) T(k) TBLIBLI(k))+q(k))+qnn(n)T(n)TBLIBLI(n)(n)
= (+ k | 0= (+ k | 0≤k<≤k<n : (a/n) Tn : (a/n) TBLIBLI(k))+(1-a)n(k))+(1-a)n
= (+ k | 0= (+ k | 0≤k<≤k<n : (a/n) (k+1))+(1-a)nn : (a/n) (k+1))+(1-a)n
= n – a(n-1)/2= n – a(n-1)/2
Complejidad
Búsqueda en un arregloBúsqueda en un arreglo::
TTBLIBLI (n) = n – a(n-1)/2(n) = n – a(n-1)/2 en el caso promedio.en el caso promedio.
Casos interesantes:Casos interesantes:
XX ∈∈ AA ⇒⇒ a = 1 : Ta = 1 : TBLIBLI (n) = (n+1)/2(n) = (n+1)/2
a = ½ : Ta = ½ : TBLIBLI (n)(n) ≈≈ 3n/43n/4
XX ∉∉ AA ⇒⇒ a = 0 : Ta = 0 : T (n) = n(n) = n
Análisis de Algoritmos
Qué es Complejidad?.
Ordenes de Complejidad.
Complejidad de instrucciones básicas.
Un problema clásico.
Ordenes de Complejidad
Algoritmo 1 : T1(n) = 1000 n
Algoritmo 2 : T2(n) = 200 n log n
Algoritmo 3 : T3(n) = 10 n2
Algoritmo 4 : T4(n) = 2n
1 9 100
2 4 3 1
Ordenes de Complejidad
Establecer la complejidad precisa es difícil….
…entonces se estudia el comportamiento
asintótico.
Ordenes de Complejidad
A. Existen constantes C y D tales que para todo N el algoritmo ejecuta
en tiempo menor que CN2.5
+ D.
B. Para todo N pueden existir entradas que ejecutan en tiempo menor a N2.5
C. Para todo N pueden existir entradas que ejecutan en tiempo menor a N2.6
D. Para todo N pueden existir entradas que ejecutan en tiempo mayor a N2.4
E. Para todo N pueden existir entradas que ejecutan en tiempo mayor a N2.6
Cierto algoritmo se ejecuta en tiempo O(n2.5
),
donde n es el tamaño de la entrada. Cuál de
las afirmaciones NO es verdad?
Ordenes de Complejidad
n
T
k
De k en adelante un múltiplo de f supera a g
g es O(f)
Ordenes de Complejidad
De k en adelante un múltiplo de f supera a g
3 = O(n) 3n = O(n) 3n = O(n2
)
n = O(n log n) log n = O(n)
n7
= O(2n
)
g = O(f)
Ordenes de Complejidad
n
T
k
De k en adelante un múltiplo de f es inferior a g
g es Ω(f)
Ordenes de Complejidad
n
T
k
De k en adelante un múltiplo de f es superior a g y
otro múltiplo de f es inferior a g.
g es Θ(f)
Análisis de Algoritmos
Qué es Complejidad?.
Ordenes de Complejidad.
Complejidad de instrucciones básicas.
Un problema clásico.
Complejidad de Instrucciones Básicas
T(skip) = 0
T(abort) = 0
T(x := e) = O(T(e))
T(S1; S2) = O(T(S1)) + O(T(S2))
= O(max(T(S1),T(S2)))
T(IF) = O(max(T(Bk)) + max(T(Sk)))
T(DO) = O(t * (max(T(Bk)) + max(T(Sk))))
Complejidad de Instrucciones Básicas
for (i = 0, n – 2, i = i + 1) {
for (j = n -1, i + 1, j = j -1) {
if a[j-1] > a[j] then
{ temp = a[j];
a[j] = a[j-1];
a[j-1] = temp; }
else skip
fi
rof
rof
O(1)
O(1)
O(n-1-i)
O(n2
)

Más contenido relacionado

La actualidad más candente

Análisis de algoritmo
Análisis de algoritmoAnálisis de algoritmo
Análisis de algoritmoGaston Demundo
 
Eficiencia de algoritmos - Vanessa Ramirez
Eficiencia de algoritmos - Vanessa RamirezEficiencia de algoritmos - Vanessa Ramirez
Eficiencia de algoritmos - Vanessa RamirezVanessa Ramirez
 
Análisis de complejidad introducción notación big o
Análisis de complejidad   introducción notación big oAnálisis de complejidad   introducción notación big o
Análisis de complejidad introducción notación big oUVM
 
Que es complejidad computacional
Que es complejidad computacionalQue es complejidad computacional
Que es complejidad computacionalJonathan Bastidas
 
Analisis de Algoritmos
Analisis de AlgoritmosAnalisis de Algoritmos
Analisis de Algoritmoszygdiaz
 
Tema 2 eficiencia y complejidad
Tema 2 eficiencia y complejidadTema 2 eficiencia y complejidad
Tema 2 eficiencia y complejidadCarlos A. Iglesias
 
Teoría de complejidad computacional (tcc)
Teoría de complejidad computacional (tcc)Teoría de complejidad computacional (tcc)
Teoría de complejidad computacional (tcc)Raquel Nuñez
 
Analisis de algoritmos
Analisis de algoritmosAnalisis de algoritmos
Analisis de algoritmosrehoscript
 
Tema 2 eficiencia_y_complejidad_grupo_21
Tema 2 eficiencia_y_complejidad_grupo_21Tema 2 eficiencia_y_complejidad_grupo_21
Tema 2 eficiencia_y_complejidad_grupo_21Carlos A. Iglesias
 
Algoritmos de ordeamiento
Algoritmos de ordeamientoAlgoritmos de ordeamiento
Algoritmos de ordeamientoYanahui Bc
 
Jflambert lyada - ayudantia matematicas discretas
Jflambert   lyada - ayudantia matematicas discretasJflambert   lyada - ayudantia matematicas discretas
Jflambert lyada - ayudantia matematicas discretasFrancisco Lambert Obediente
 
Análisis de complejidad big o
Análisis de complejidad  big o Análisis de complejidad  big o
Análisis de complejidad big o UVM
 

La actualidad más candente (18)

Análisis de algoritmo
Análisis de algoritmoAnálisis de algoritmo
Análisis de algoritmo
 
Eficiencia de algoritmos - Vanessa Ramirez
Eficiencia de algoritmos - Vanessa RamirezEficiencia de algoritmos - Vanessa Ramirez
Eficiencia de algoritmos - Vanessa Ramirez
 
Complejidad Computacional
Complejidad ComputacionalComplejidad Computacional
Complejidad Computacional
 
Análisis de complejidad introducción notación big o
Análisis de complejidad   introducción notación big oAnálisis de complejidad   introducción notación big o
Análisis de complejidad introducción notación big o
 
Que es complejidad computacional
Que es complejidad computacionalQue es complejidad computacional
Que es complejidad computacional
 
Analisis de Algoritmos
Analisis de AlgoritmosAnalisis de Algoritmos
Analisis de Algoritmos
 
Tema4
Tema4Tema4
Tema4
 
Tema 2 eficiencia y complejidad
Tema 2 eficiencia y complejidadTema 2 eficiencia y complejidad
Tema 2 eficiencia y complejidad
 
Teoría de complejidad computacional (tcc)
Teoría de complejidad computacional (tcc)Teoría de complejidad computacional (tcc)
Teoría de complejidad computacional (tcc)
 
Analisis de algoritmos
Analisis de algoritmosAnalisis de algoritmos
Analisis de algoritmos
 
Diapositiva
DiapositivaDiapositiva
Diapositiva
 
Complejidad de los algoritmos
Complejidad de los algoritmosComplejidad de los algoritmos
Complejidad de los algoritmos
 
Tema 2 eficiencia_y_complejidad_grupo_21
Tema 2 eficiencia_y_complejidad_grupo_21Tema 2 eficiencia_y_complejidad_grupo_21
Tema 2 eficiencia_y_complejidad_grupo_21
 
Complejidad
ComplejidadComplejidad
Complejidad
 
Algoritmos de ordeamiento
Algoritmos de ordeamientoAlgoritmos de ordeamiento
Algoritmos de ordeamiento
 
Jflambert lyada - ayudantia matematicas discretas
Jflambert   lyada - ayudantia matematicas discretasJflambert   lyada - ayudantia matematicas discretas
Jflambert lyada - ayudantia matematicas discretas
 
Complejidad
ComplejidadComplejidad
Complejidad
 
Análisis de complejidad big o
Análisis de complejidad  big o Análisis de complejidad  big o
Análisis de complejidad big o
 

Destacado

complejidad computacional
complejidad computacionalcomplejidad computacional
complejidad computacionallourdesnbv
 
Estructuras Algoritmicas: Ciclos o Bucles
Estructuras Algoritmicas: Ciclos o BuclesEstructuras Algoritmicas: Ciclos o Bucles
Estructuras Algoritmicas: Ciclos o BuclesLacoste
 
Complejidad algoritmos
Complejidad algoritmosComplejidad algoritmos
Complejidad algoritmosffarren
 
Domingo de pascua
Domingo de pascuaDomingo de pascua
Domingo de pascuaguest0071d9
 
La teoria de la complejidad
La teoria de la complejidadLa teoria de la complejidad
La teoria de la complejidadanmcg
 
Sistemas operativos y recursos que administran
Sistemas operativos y recursos que administranSistemas operativos y recursos que administran
Sistemas operativos y recursos que administranBrahian Perlaza
 
Analisis y disenio de algoritmos
Analisis y disenio de algoritmosAnalisis y disenio de algoritmos
Analisis y disenio de algoritmosMayte dena
 
TeoríA AlgoríTmica
TeoríA AlgoríTmicaTeoríA AlgoríTmica
TeoríA AlgoríTmicaCindhy Celi
 
composicion de algoritmos
 composicion de algoritmos composicion de algoritmos
composicion de algoritmosG Hoyos A
 
V Domingo de Pascua (Ciclo A) Reflexión
V Domingo de Pascua (Ciclo A) ReflexiónV Domingo de Pascua (Ciclo A) Reflexión
V Domingo de Pascua (Ciclo A) ReflexiónVíctor Hugo Salazar
 

Destacado (14)

complejidad computacional
complejidad computacionalcomplejidad computacional
complejidad computacional
 
Estructuras Algoritmicas: Ciclos o Bucles
Estructuras Algoritmicas: Ciclos o BuclesEstructuras Algoritmicas: Ciclos o Bucles
Estructuras Algoritmicas: Ciclos o Bucles
 
Complejidad algoritmos
Complejidad algoritmosComplejidad algoritmos
Complejidad algoritmos
 
Estructura algorítmicas
Estructura algorítmicasEstructura algorítmicas
Estructura algorítmicas
 
Domingo de pascua
Domingo de pascuaDomingo de pascua
Domingo de pascua
 
La teoria de la complejidad
La teoria de la complejidadLa teoria de la complejidad
La teoria de la complejidad
 
Sistemas operativos y recursos que administran
Sistemas operativos y recursos que administranSistemas operativos y recursos que administran
Sistemas operativos y recursos que administran
 
Analisis y disenio de algoritmos
Analisis y disenio de algoritmosAnalisis y disenio de algoritmos
Analisis y disenio de algoritmos
 
Complejidad de los Algoritmos
Complejidad de los AlgoritmosComplejidad de los Algoritmos
Complejidad de los Algoritmos
 
TeoríA AlgoríTmica
TeoríA AlgoríTmicaTeoríA AlgoríTmica
TeoríA AlgoríTmica
 
composicion de algoritmos
 composicion de algoritmos composicion de algoritmos
composicion de algoritmos
 
V Domingo de Pascua (Ciclo A) Reflexión
V Domingo de Pascua (Ciclo A) ReflexiónV Domingo de Pascua (Ciclo A) Reflexión
V Domingo de Pascua (Ciclo A) Reflexión
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
332 presentacion grafos
332 presentacion grafos332 presentacion grafos
332 presentacion grafos
 

Similar a Complejidad de Algoritmos

Similar a Complejidad de Algoritmos (20)

2 eficiencia
2 eficiencia2 eficiencia
2 eficiencia
 
Divide y Venceras
Divide y VencerasDivide y Venceras
Divide y Venceras
 
Analisis de algoritmos tarea 2
Analisis de algoritmos tarea 2Analisis de algoritmos tarea 2
Analisis de algoritmos tarea 2
 
Fundamentos Divide Y Venceras
Fundamentos Divide Y VencerasFundamentos Divide Y Venceras
Fundamentos Divide Y Venceras
 
Analisis de Algoritmos tarea 1
Analisis de Algoritmos tarea 1Analisis de Algoritmos tarea 1
Analisis de Algoritmos tarea 1
 
Mpinning Gy Alg9(Conteo)
Mpinning Gy Alg9(Conteo)Mpinning Gy Alg9(Conteo)
Mpinning Gy Alg9(Conteo)
 
Informe
InformeInforme
Informe
 
apuntes de java
apuntes de javaapuntes de java
apuntes de java
 
ANALISIS DE ALGORITMOS
ANALISIS DE ALGORITMOSANALISIS DE ALGORITMOS
ANALISIS DE ALGORITMOS
 
Recurrencias
RecurrenciasRecurrencias
Recurrencias
 
Aclase0802
Aclase0802Aclase0802
Aclase0802
 
Descomposición en Landscapes Elementales del Problema de Diseño de Redes de R...
Descomposición en Landscapes Elementales del Problema de Diseño de Redes de R...Descomposición en Landscapes Elementales del Problema de Diseño de Redes de R...
Descomposición en Landscapes Elementales del Problema de Diseño de Redes de R...
 
Metodos iterativos
Metodos iterativosMetodos iterativos
Metodos iterativos
 
Subirblog
SubirblogSubirblog
Subirblog
 
Subirblog2
Subirblog2Subirblog2
Subirblog2
 
Python
PythonPython
Python
 
Sistemas Difusos
Sistemas DifusosSistemas Difusos
Sistemas Difusos
 
Analisis Clase2
Analisis  Clase2Analisis  Clase2
Analisis Clase2
 
Ejercicios con respuestas. Calculo Integral Facultad de ingeniería.
Ejercicios con respuestas. Calculo Integral Facultad de ingeniería. Ejercicios con respuestas. Calculo Integral Facultad de ingeniería.
Ejercicios con respuestas. Calculo Integral Facultad de ingeniería.
 
Cap4
Cap4Cap4
Cap4
 

Último

LA OVEJITA QUE VINO A CENAR CUENTO INFANTIL.pdf
LA OVEJITA QUE VINO A CENAR CUENTO INFANTIL.pdfLA OVEJITA QUE VINO A CENAR CUENTO INFANTIL.pdf
LA OVEJITA QUE VINO A CENAR CUENTO INFANTIL.pdfNataliaMalky1
 
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptxPPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptxOscarEduardoSanchezC
 
Fisiologia.Articular. 3 Kapandji.6a.Ed.pdf
Fisiologia.Articular. 3 Kapandji.6a.Ed.pdfFisiologia.Articular. 3 Kapandji.6a.Ed.pdf
Fisiologia.Articular. 3 Kapandji.6a.Ed.pdfcoloncopias5
 
c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptx
c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptxc3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptx
c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptxMartín Ramírez
 
PINTURA ITALIANA DEL CINQUECENTO (SIGLO XVI).ppt
PINTURA ITALIANA DEL CINQUECENTO (SIGLO XVI).pptPINTURA ITALIANA DEL CINQUECENTO (SIGLO XVI).ppt
PINTURA ITALIANA DEL CINQUECENTO (SIGLO XVI).pptAlberto Rubio
 
Mapa Mental de estrategias de articulación de las areas curriculares.pdf
Mapa Mental de estrategias de articulación de las areas curriculares.pdfMapa Mental de estrategias de articulación de las areas curriculares.pdf
Mapa Mental de estrategias de articulación de las areas curriculares.pdfvictorbeltuce
 
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptxLINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptxdanalikcruz2000
 
IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO YESSENIA 933623393 NUEV...
IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO  YESSENIA 933623393 NUEV...IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO  YESSENIA 933623393 NUEV...
IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO YESSENIA 933623393 NUEV...YobanaZevallosSantil1
 
Monitoreo a los coordinadores de las IIEE JEC_28.02.2024.vf.pptx
Monitoreo a los coordinadores de las IIEE JEC_28.02.2024.vf.pptxMonitoreo a los coordinadores de las IIEE JEC_28.02.2024.vf.pptx
Monitoreo a los coordinadores de las IIEE JEC_28.02.2024.vf.pptxJUANCARLOSAPARCANARE
 
Los Nueve Principios del Desempeño de la Sostenibilidad
Los Nueve Principios del Desempeño de la SostenibilidadLos Nueve Principios del Desempeño de la Sostenibilidad
Los Nueve Principios del Desempeño de la SostenibilidadJonathanCovena1
 
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024gharce
 
CIENCIAS NATURALES 4 TO ambientes .docx
CIENCIAS NATURALES 4 TO  ambientes .docxCIENCIAS NATURALES 4 TO  ambientes .docx
CIENCIAS NATURALES 4 TO ambientes .docxAgustinaNuez21
 
Técnicas de grabado y estampación : procesos y materiales
Técnicas de grabado y estampación : procesos y materialesTécnicas de grabado y estampación : procesos y materiales
Técnicas de grabado y estampación : procesos y materialesRaquel Martín Contreras
 
DETALLES EN EL DISEÑO DE INTERIOR
DETALLES EN EL DISEÑO DE INTERIORDETALLES EN EL DISEÑO DE INTERIOR
DETALLES EN EL DISEÑO DE INTERIORGonella
 
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptxPresentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptxYeseniaRivera50
 

Último (20)

LA OVEJITA QUE VINO A CENAR CUENTO INFANTIL.pdf
LA OVEJITA QUE VINO A CENAR CUENTO INFANTIL.pdfLA OVEJITA QUE VINO A CENAR CUENTO INFANTIL.pdf
LA OVEJITA QUE VINO A CENAR CUENTO INFANTIL.pdf
 
Earth Day Everyday 2024 54th anniversary
Earth Day Everyday 2024 54th anniversaryEarth Day Everyday 2024 54th anniversary
Earth Day Everyday 2024 54th anniversary
 
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptxPPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
 
Fisiologia.Articular. 3 Kapandji.6a.Ed.pdf
Fisiologia.Articular. 3 Kapandji.6a.Ed.pdfFisiologia.Articular. 3 Kapandji.6a.Ed.pdf
Fisiologia.Articular. 3 Kapandji.6a.Ed.pdf
 
c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptx
c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptxc3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptx
c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptx
 
Aedes aegypti + Intro to Coquies EE.pptx
Aedes aegypti + Intro to Coquies EE.pptxAedes aegypti + Intro to Coquies EE.pptx
Aedes aegypti + Intro to Coquies EE.pptx
 
PINTURA ITALIANA DEL CINQUECENTO (SIGLO XVI).ppt
PINTURA ITALIANA DEL CINQUECENTO (SIGLO XVI).pptPINTURA ITALIANA DEL CINQUECENTO (SIGLO XVI).ppt
PINTURA ITALIANA DEL CINQUECENTO (SIGLO XVI).ppt
 
Mapa Mental de estrategias de articulación de las areas curriculares.pdf
Mapa Mental de estrategias de articulación de las areas curriculares.pdfMapa Mental de estrategias de articulación de las areas curriculares.pdf
Mapa Mental de estrategias de articulación de las areas curriculares.pdf
 
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptxLINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
 
La luz brilla en la oscuridad. Necesitamos luz
La luz brilla en la oscuridad. Necesitamos luzLa luz brilla en la oscuridad. Necesitamos luz
La luz brilla en la oscuridad. Necesitamos luz
 
Sesión La luz brilla en la oscuridad.pdf
Sesión  La luz brilla en la oscuridad.pdfSesión  La luz brilla en la oscuridad.pdf
Sesión La luz brilla en la oscuridad.pdf
 
IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO YESSENIA 933623393 NUEV...
IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO  YESSENIA 933623393 NUEV...IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO  YESSENIA 933623393 NUEV...
IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO YESSENIA 933623393 NUEV...
 
Monitoreo a los coordinadores de las IIEE JEC_28.02.2024.vf.pptx
Monitoreo a los coordinadores de las IIEE JEC_28.02.2024.vf.pptxMonitoreo a los coordinadores de las IIEE JEC_28.02.2024.vf.pptx
Monitoreo a los coordinadores de las IIEE JEC_28.02.2024.vf.pptx
 
Los Nueve Principios del Desempeño de la Sostenibilidad
Los Nueve Principios del Desempeño de la SostenibilidadLos Nueve Principios del Desempeño de la Sostenibilidad
Los Nueve Principios del Desempeño de la Sostenibilidad
 
DIA INTERNACIONAL DAS FLORESTAS .
DIA INTERNACIONAL DAS FLORESTAS         .DIA INTERNACIONAL DAS FLORESTAS         .
DIA INTERNACIONAL DAS FLORESTAS .
 
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024
 
CIENCIAS NATURALES 4 TO ambientes .docx
CIENCIAS NATURALES 4 TO  ambientes .docxCIENCIAS NATURALES 4 TO  ambientes .docx
CIENCIAS NATURALES 4 TO ambientes .docx
 
Técnicas de grabado y estampación : procesos y materiales
Técnicas de grabado y estampación : procesos y materialesTécnicas de grabado y estampación : procesos y materiales
Técnicas de grabado y estampación : procesos y materiales
 
DETALLES EN EL DISEÑO DE INTERIOR
DETALLES EN EL DISEÑO DE INTERIORDETALLES EN EL DISEÑO DE INTERIOR
DETALLES EN EL DISEÑO DE INTERIOR
 
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptxPresentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
 

Complejidad de Algoritmos

  • 2. Análisis de Algoritmos Qué es Complejidad?. Ordenes de Complejidad. Complejidad de instrucciones básicas. Algunos problemas clásicos.
  • 3. Complejidad ¿Qué entiende Ud. por complejidad? ¿Cómo se mide la complejidad? ¿La complejidad está asociada a un problema o a una solución del problema? ¿La complejidad depende de la implementación?
  • 4. Complejidad ¿Qué se entiende por complejidad? La Complejidad es una medida de laLa Complejidad es una medida de la cantidad que consume un algoritmo de uncantidad que consume un algoritmo de un recurso determinado.recurso determinado.
  • 5. Complejidad Problema: Pregunta sobre un conjunto dePregunta sobre un conjunto de datos.datos. Solución:Solución: Método general para resolverMétodo general para resolver todas las posibles preguntas.todas las posibles preguntas.
  • 6. Complejidad Problema: XX = { (p(x),r(x)) | x= { (p(x),r(x)) | x ∈∈ D }.D }. Solución:Solución: Es una relación A: PEs una relación A: P  R talR tal que para cada preguntaque para cada pregunta posible p, (p,A(p))posible p, (p,A(p)) ∈∈ XX.. Para un problemaPara un problema XX existen preguntas másexisten preguntas más difíciles de resolver o más grandes que otras.difíciles de resolver o más grandes que otras.
  • 7. Complejidad Problema: XX = { ((a,k),i) | a=A[0..n-1]= { ((a,k),i) | a=A[0..n-1] ∧∧ 00 ≤ i ≤ n-1≤ i ≤ n-1 ∧∧ a[i] = ka[i] = k}.}. Solución:Solución: Algoritmo de Búsqueda Lineal.Algoritmo de Búsqueda Lineal. BL responde preguntas fáciles y preguntasBL responde preguntas fáciles y preguntas difícilesdifíciles (¿de que depende la dificultad?).(¿de que depende la dificultad?).
  • 8. Complejidad Si el recurso es espacio:Si el recurso es espacio: Cantidad de memoria requeridaCantidad de memoria requerida para una ejecución.para una ejecución. Si el recurso es tiempo:Si el recurso es tiempo: Cantidad de tiempo requeridoCantidad de tiempo requerido para una ejecución.para una ejecución. n + 2n + 2.. depende!depende!
  • 9. Complejidad Búsqueda en un arregloBúsqueda en un arreglo:: {Pre Q: a=A[0..n-1]{Pre Q: a=A[0..n-1] ∧∧ x=X}x=X} i:=0;i:=0; dodo (i(i ≠ n≠ n ∧∧ a[i]≠x)a[i]≠x)  i:=i+1i:=i+1 odod {Pos R: (i=n{Pos R: (i=n ∧∧ XX∉∉A)A) ∨∨ (0≤i<n(0≤i<n ∧∧ A[i]=X)}A[i]=X)} Operación básica: Comparación.Operación básica: Comparación. Si X está en la posición k: k +1 comparaciones.Si X está en la posición k: k +1 comparaciones. Si X no está en A: n comparaciones.Si X no está en A: n comparaciones.
  • 10. Complejidad Búsqueda en un arregloBúsqueda en un arreglo:: TTBLIBLI (n) = n(n) = n en el peor caso.en el peor caso. TTBLIBLI (n) = n – a(n-1)/2(n) = n – a(n-1)/2 en el caso promedio.en el caso promedio.
  • 11. Complejidad Búsqueda en un arregloBúsqueda en un arreglo:: TTBLIBLI (n) = n – a(n-1)/2(n) = n – a(n-1)/2 en el caso promedio.en el caso promedio. TTBLIBLI (n) = (+ k | 0(n) = (+ k | 0≤k≤≤k≤n : qn : qnn(k) T(k) TBLIBLI(k))(k)) = (+ k | 0= (+ k | 0≤k<≤k<n : qn : qnn(k) T(k) TBLIBLI(k))+q(k))+qnn(n)T(n)TBLIBLI(n)(n) = (+ k | 0= (+ k | 0≤k<≤k<n : (a/n) Tn : (a/n) TBLIBLI(k))+(1-a)n(k))+(1-a)n = (+ k | 0= (+ k | 0≤k<≤k<n : (a/n) (k+1))+(1-a)nn : (a/n) (k+1))+(1-a)n = n – a(n-1)/2= n – a(n-1)/2
  • 12. Complejidad Búsqueda en un arregloBúsqueda en un arreglo:: TTBLIBLI (n) = n – a(n-1)/2(n) = n – a(n-1)/2 en el caso promedio.en el caso promedio. Casos interesantes:Casos interesantes: XX ∈∈ AA ⇒⇒ a = 1 : Ta = 1 : TBLIBLI (n) = (n+1)/2(n) = (n+1)/2 a = ½ : Ta = ½ : TBLIBLI (n)(n) ≈≈ 3n/43n/4 XX ∉∉ AA ⇒⇒ a = 0 : Ta = 0 : T (n) = n(n) = n
  • 13. Análisis de Algoritmos Qué es Complejidad?. Ordenes de Complejidad. Complejidad de instrucciones básicas. Un problema clásico.
  • 14. Ordenes de Complejidad Algoritmo 1 : T1(n) = 1000 n Algoritmo 2 : T2(n) = 200 n log n Algoritmo 3 : T3(n) = 10 n2 Algoritmo 4 : T4(n) = 2n 1 9 100 2 4 3 1
  • 15. Ordenes de Complejidad Establecer la complejidad precisa es difícil…. …entonces se estudia el comportamiento asintótico.
  • 16. Ordenes de Complejidad A. Existen constantes C y D tales que para todo N el algoritmo ejecuta en tiempo menor que CN2.5 + D. B. Para todo N pueden existir entradas que ejecutan en tiempo menor a N2.5 C. Para todo N pueden existir entradas que ejecutan en tiempo menor a N2.6 D. Para todo N pueden existir entradas que ejecutan en tiempo mayor a N2.4 E. Para todo N pueden existir entradas que ejecutan en tiempo mayor a N2.6 Cierto algoritmo se ejecuta en tiempo O(n2.5 ), donde n es el tamaño de la entrada. Cuál de las afirmaciones NO es verdad?
  • 17. Ordenes de Complejidad n T k De k en adelante un múltiplo de f supera a g g es O(f)
  • 18. Ordenes de Complejidad De k en adelante un múltiplo de f supera a g 3 = O(n) 3n = O(n) 3n = O(n2 ) n = O(n log n) log n = O(n) n7 = O(2n ) g = O(f)
  • 19. Ordenes de Complejidad n T k De k en adelante un múltiplo de f es inferior a g g es Ω(f)
  • 20. Ordenes de Complejidad n T k De k en adelante un múltiplo de f es superior a g y otro múltiplo de f es inferior a g. g es Θ(f)
  • 21. Análisis de Algoritmos Qué es Complejidad?. Ordenes de Complejidad. Complejidad de instrucciones básicas. Un problema clásico.
  • 22. Complejidad de Instrucciones Básicas T(skip) = 0 T(abort) = 0 T(x := e) = O(T(e)) T(S1; S2) = O(T(S1)) + O(T(S2)) = O(max(T(S1),T(S2))) T(IF) = O(max(T(Bk)) + max(T(Sk))) T(DO) = O(t * (max(T(Bk)) + max(T(Sk))))
  • 23. Complejidad de Instrucciones Básicas for (i = 0, n – 2, i = i + 1) { for (j = n -1, i + 1, j = j -1) { if a[j-1] > a[j] then { temp = a[j]; a[j] = a[j-1]; a[j-1] = temp; } else skip fi rof rof O(1) O(1) O(n-1-i) O(n2 )