Está en la página 1de 2

Rush 03

Carlos Zerón1 , Antonio Galván2

zeronmc@gmail.com
agalvan@astro.unam.mx

9 de febrero de 2019

Para no perder el ritmo que llevamos hasta el momento, vamos a repasar un


poco el análisis de complejidad en el peor de los casos de las estrategias vistas en
clase. Primero empecemos primero con el que calcula el conjunto potencia de un
conjutoS (Algoritmo 1)

Data: Arreglo A de números enteros


Result: Conjunto potencia de S
for i ← 0 ; i < 1 << n do
print (”{”)
for j ← 0 ; j < n do
if ((i&(1 << j) > 0) then
print(set[j]+ ” ”)
end
end
print (”}”)
end
Algorithm 1: Algoritmo que calcula el conjunto potencia de S.

Y después el que calcula las sucesiones de números 1, ..., n de longitud k vista


en clase (Algoritmo 2).
Donde isSame(x,last) y printSucc(x) son rutinas auxiliares definidos por los
algoritmos 3 y 4 respectivamente.
Por el momento, no es necesario que me entreguen el código, basta con que
me lo entreguen a mano el jueves junto con su tarea. Recuerden que sı́ tienen duda
su deber es preguntar.

1
Data: n, k ∈ N donde k es la longitud de la sucesión y n es el mayor
número a considerar dentro de la sucesión.
Result: Sucesiones de números naturales ordenados de manera
lexicográfica. La primera es h1, 1, 1, ..., 1, 1i y la última
hn, n, n, ..., n, ni
x = ones(k) \\ Arreglo h1, 1, 1, ..., 1, 1i
last = ones(k)*n \\ Arreglo hn, n, n, ..., n, ni
printSucc(x)
while ! isSame(x,last) do
p=k-1 while !(x[p] < 1) do
p=p-1
end
x[p] = x[p]+1
for i=p+1 ; i< k ; i++ do
x[i]=1
end
printSucc(x)
end
Algorithm 2: Algoritmo que calcula la sucesiones de números entre 1 y n de
longitud k

Data: Arreglos x, y
Result: Booleano que representa la igualdad entre arreglos.
for i = 0 ; i < x.lenght do
if x[i] != y[i] then
return false
end
end
return true
Algorithm 3: Algoritmo que determina si dos arreglos son iguales elemento a
elemento.

Data: Arreglo x
Result: Booleano que representa la igualdad entre arreglos.
for i = 0 ; i < x.lenght do
print(x[i])
end
print(”\n”)
Algorithm 4: Algoritmo que imprime un arreglo.

También podría gustarte