11.08.2023 Views

Algoritmos - CAP1

Complejidad de algoritmos

Complejidad de algoritmos

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

16 TÉCNICAS DE DISEÑO DE ALGORITMOS

1.5 PROBLEMAS PROPUESTOS

1.1. De las siguientes afirmaciones, indicar cuales son ciertas y cuales no:

(i) n 2 ∈O(n 3 ) (ix) n 2 ∈Ω(n 3 )

(ii) n 3 ∈O(n 2 ) (x) n 3 ∈Ω(n 2 )

(iii) 2 n+1 ∈O(2 n ) (xi) 2 n+1 ∈Ω(2 n )

(iv) (n+1)!∈O(n!) (xii) (n+1)!∈Ω(n!)

(v) f(n)∈O(n) ⇒ 2 f(n) ∈O(2 n ) (xiii) f(n)∈Ω(n) ⇒ 2 f(n) ∈Ω(2 n )

(vi) 3 n ∈O(2 n ) (xiv) 3 n ∈Ω(2 n )

(vii) logn ∈O(n 1/2 ) (xv) logn ∈Ω(n 1/2 )

(viii) n 1/2 ∈O(logn)

(xvi) n 1/2 ∈Ω(logn)

1.2. Sea a una constante real, 0<a<1. Usar las relaciones ⊂ y = para ordenar los

órdenes de complejidad de las siguientes funciones: nlogn, n 2 logn, n 8 , n 1+a ,

(1+a) n , (n 2 +8n+log 3 n) 4 , n 2 /logn, 2 n .

1.3. La siguiente ecuación recurrente representa un caso típico de un algoritmo

recursivo:

k

⎧cn

si1 ≤ n ≤ b

T ( n)

= ⎨

k

⎩aT

( n − b)

+ cn si n > b

donde a,c,k son números reales, n,b son números naturales, y a>0, c>0,

k≥0. En general, la constante a representa el número de llamadas recursivas

que se realizan para un problema de tamaño n en cada ejecución del

algoritmo; n–b es el tamaño de los subproblemas generados; y cn k

representa el coste de las instrucciones del algoritmo que no son llamadas

recursivas.

k

⎧Θ(

n ) si a < 1

⎪ k + 1

Demostrar que T ( n)

∈ ⎨Θ(

n ) si a = 1

⎪ n div b

⎩Θ(

a ) si a > 1

1.4. La siguiente ecuación recurrente representa un caso típico de Divide y

Vencerás:

k

⎧cn

si1 ≤ n < b

T ( n)

= ⎨

k

⎩aT

( n / b)

+ cn si n ≥ b

donde a,c,k son números reales, n,b son números naturales, y a>0, c>0,

k≥0, b>1. La expresión cn k representa en general el coste de descomponer

el problema inicial en a subproblemas y el de componer las soluciones para

producir la solución del problema original.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!