Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Análisis de algoritmos
3
for i = 1 to n do
for j = 1 to n do
C[i,j] = 0;
for k = 1 to n do
C[i,j] = C[i,j] + A[i,k]*B[k,j];
4 5
anterior = 1; for (i = n – 1;j=0;i>=0;i--,j++)
actual = 1; s2[j]= s[i];
while (n>2)
{ for (k = 0,k<n;k++)
aux = anterior + actual; s[i]= s2[i];
anterior = actual; 2
actual = aux;
n = n - 1;
}
B. Para los siguientes 3 algoritmos determine el número de veces que se
imprime la palabra “Algoritmos”. Determine una función lo más
cercana a su comportamiento para cualquier n y compruébela
Análisis de algoritmos
7 n # #
for(j=n;j>1;j/=2) Impresion Impresion
es Reales es según la
{ función
if(j<(n/2))
{
for(i=0;i<n;i+=2) 10 --- ----
{
printf("\"Algoritmos\n\""); 100 ---- -----
}
1000 --- ----
}
}
8
i=n;
while(i>=0) 9
{ for (i =1;i<n*2;i*=6)
for (j=n;i<j;i-=2,j/=2) printf("\"Algoritmos\n\"");
{
3
printf("\"Algoritmos\n\"");
}
}
return 0;
C. Para los siguientes algoritmos determine las funciones de complejidad
temporal, para el mejor caso, peor caso y caso medio. Indique cual(es)
son las condiciones (instancia de entrada) del peor caso y cual(es) la del
Análisis de algoritmos
Análisis de algoritmos
14
Procedimiento BurbujaSimple(A,n)
para i=0 hasta n-2 hacer
para j=0 hasta (n-2)-i hacer
si (A[j]>A[j+1]) entonces
aux = A[j]
A[j] = A[j+1]
A[j+1] = aux
fin si
fin para
fin para
fin Procedimiento
5
15
Procedimiento Ordena(a,b,c)
{
if(a>b)
Análisis de algoritmos
16
Procedimiento Seleccion(A,n)
para k=0 hasta n-2 hacer
p=k
para i=k+1 hasta n-1 hacer
si A[i]<A[p] entonces
p=i
fin si
fin para
temp = A[p]
A[p] = A[k]
A[k] = temp
6
fin para
fin Procedimiento
17
Algoritmo FrecuenciaMinNumeros
Leer n
Análisis de algoritmos
f=0
i=1
Mientras i<=n
ntemp=A[i]
j=1
ftemp=0
Mientras j<=n
si ntemp=A[j]
ftemp=ftemp+1
FinSi
j=j+1
FinMientras
si f<ftemp
f=ftemp
num=ntemp
FinSi
i=i+1
FinMientras
Escribir num
FinAlgoritmo 7
18
Proceso SumaNPrimerosPares
Leer N
Análisis de algoritmos
19
Proceso CuentaMultiplosde2y3
Para num<-1 Hasta n Con Paso 1
si (num MOD 2==º o num MOD 3==0)
Entonces
Escribir num
FinSi
FinPara
FinProceso
8
20
Proceso ValidaPrimo
Leer n
Análisis de algoritmos
divisores=divisores+1
FinSi
FinPara
FinSi
si divisores=2
Escribir 'S'
SiNo
Escribir 'N'
FinSi
FinProceso
9
*Portada con fotografía y encabezados de pagina
Análisis de algoritmos
func Producto2Mayores(A,n)
if(A[1] > A[2])
mayor1 = A[1];
mayor2 = A[2];
else
mayor1 = A[2];
mayor2 = A[1];
i = 3;
while(i<=n)
if(A[i] > mayor1)
mayor2 = mayor1;
mayor1 = A[i];
else if (A[i] > mayor2)
mayor2 = A[i];
i = i + 1;
Análisis de algoritmos
Análisis del
Problema (Identifica
y explica las
instrucciones o variables
a considerar para el
análisis)
Desarrollo del
Problema (Explica el
análisis realizado y los
pasos con lo que llego al
resultado)
Secuencia Lógica
(Hay una correcta
interpretación de los 11
conceptos, cálculos y
formulas)
Fecha máxima de entrega en el sitio Web
• La entrega se realizará a través de la página:
Análisis de algoritmos
12
• Grupo y contraseña
Análisis de algoritmos
13