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.

18 TÉCNICAS DE DISEÑO DE ALGORITMOS

PROCEDURE Euclides(m,n:CARDINAL):CARDINAL;

VAR temp:CARDINAL;

BEGIN

WHILE m>0 DO (* 1 *)

temp:=m; (* 2 *)

m:=n MOD m; (* 3 *)

n:=temp (* 4 *)

END; (* 5 *)

RETURN n (* 6 *)

END Euclides;

PROCEDURE Misterio(n:CARDINAL);

VAR i,j,k,s:INTEGER;

BEGIN

s:=0; (* 1 *)

FOR i:=1 TO n-1 DO (* 2 *)

FOR j:=i+1 TO n DO (* 3 *)

FOR k:=1 TO j DO (* 4 *)

s:=s+2 (* 5 *)

END (* 6 *)

END (* 7 *)

END (* 8 *)

END Misterio;

a) Calcular sus tiempos de ejecución en el mejor, peor, y caso medio.

b) Dar cotas asintóticas O, Ω y Θ para las funciones anteriores.

1.6. Demostrar las siguientes inclusiones estrictas: O(1) ⊂ O(logn) ⊂ O(n) ⊂

O(nlogn) ⊂ O(n 2 ) ⊂ O(n 3 ) ⊂ O(n k ) ⊂ O(2 n ) ⊂ O(n!).

1.7. a) Demostrar que f ∈O(g) ⇔ g ∈Ω(f).

b) Dar un ejemplo de funciones f y g tales que f∈O(g) pero que f∉Ω(g).

c) Demostrar que ∀a,b>1 se tiene que log a n∈Θ(log b n).

1.8. Considérense las siguientes funciones de n:

f 1 (n) = n 2 ; f 2 (n) = n 2 + 1000n;

⎧n,

si n impar ⎧ n,

si n≤

100

f

3( n)

= ⎨

; f4(

n)

=

3

⎨ 3

⎩n

, si n par

⎩n

, si n>

100

Para cada posible valor de i,j indicar si f i ∈O(f j ) y si f i ∈Ω(f j ).

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

Saved successfully!

Ooh no, something went wrong!