Documentos de Académico
Documentos de Profesional
Documentos de Cultura
ALGORITMICA
PROGRAMACION III
INF - 131
Lic. Marcelo Aruquipa
2023
O
Para alcanzar la solución.
L
C E
• A esto se denomina:
A R
“ALGORITMO EFICIENTE”
M
Lic. Marcelo Aruquipa
A
Eficiencia de un Algoritmo
P
U I
ALGORITMO
U Q
A R
O
Tiempo de ejecución
L
ANALISIS DE
C E f(x) CONJUNTO
DE
A R
EFICIENCIA
FUNCIONES
M A que conjunto ?
Lic. Marcelo Aruquipa
TENGO MI ALGORITMOA
IP
YA PUEDO CODIFICARLO?
U
U Q
A R
L O
C E
A R
M
Lic. Marcelo Aruquipa
Análisis de EficienciaPA
U I
“Factor decisivo para el diseño del
algoritmo” U Q
R
ABuscar función que
A Priori
(Teórico)
L O represente al tiempo
de ejecución
C E
A R
A Posteriori
Calculo de tiempo en
forma práctica.
M (Experimental)
Estadísticas
C E
A R
M
Lic. Marcelo Aruquipa
Complejidad AsintóticaPA
U I
U Q
A R
L O
C E
A R
M
Lic. Marcelo Aruquipa
Complejidad AsintóticaPA
U I
cg(n)
U Q
A R
L O f(n)
C E
A R
M
Lic. Marcelo Aruquipa
Ordenes de Complejidad
A
U IP
U Q
A R
L O
C E
A R
M
Lic. Marcelo Aruquipa
Ordenes de Complejidad
A
Eficiente U IP
U Q
A R
Tratable
L O
C E
Intratable
A R
M
Lic. Marcelo Aruquipa
Ordenes de Complejidad
PA
U I
U Q
A R
L O
C E
A R
M
Lic. Marcelo Aruquipa
Reglas para calcular T(n)
P A
U I
U Q
A R
L O
C E
A R
M
Lic. Marcelo Aruquipa
Reglas para calcular T(n)
A
U IP
U Q
b) Bucle con evolución no lineal
A R
L O
C E
A R
M
Lic. Marcelo Aruquipa
Reglas para calcular T(n)
P A
U I
U Q
A R
L O
C E
A R
M
Lic. Marcelo Aruquipa
Ejemplo 1
A
Suponiendo n como tamaño de la entrada:
Nro Codigo U
Frecuencia
IP
Linea
U Q
1
2
3
j = 1;
while((A[j] < c) && (j <n)){
j++; A R
1
n
n -1
4
}
if(A[j] == c)
L O 1
5
else
C E
return j; 1
A R return 0;
T(n)= 2n + 2
M
Por lo tanto T(n) ∈ O(n)
L O
c = c/2;
log n - 1
log n – 1
n-1
n-1
}
C
}
E
A R
Por lo tanto T(n) ∈ O(n log n)
T(n)= 3n log n – 3log n + 1
M
Lic. Marcelo Aruquipa
Ejemplo 3
A
Suponiendo n como tamaño de la entrada:
U IP
Nro
Linea
Código
U Q
Frecuencia
1
2
3
k = 0;
for(i = 1; i<= n; i++){
A
for(j = 1; j<= n*n; j++){
R n2 +1
1
n+1
n
4
5
L O
for(p = 1; p<= n*n*n; p++){
k++;
n3+1
n3
n2
n2
n
n
}
}
C E
}
M
Por lo tanto
T(n) = 2n6 + 2n2 + 2n + 2 ∈ O(nk); k>3 Complejidad polinomial