09.05.2013 Views

Algoritmos y Programación en Pascal

Algoritmos y Programación en Pascal

Algoritmos y Programación en Pascal

SHOW MORE
SHOW LESS

Create successful ePaper yourself

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

406 Capítulo 18. Complejidad algorítmica<br />

18.2.5 Propiedades de O, Ω y Θ<br />

Entre las propiedades más importantes de la notaciones O mayúscula, Ω y Θ<br />

cabe destacar las que se describ<strong>en</strong> a continuación. En ellas se utiliza el símbolo<br />

∆ si la propiedad es cierta para las tres notaciones, y se asume que<br />

Reflexividad: f ∈ ∆(f).<br />

f, g, f1, f2 : Z + −→ IR +<br />

Escalabilidad: Si f ∈ ∆(g) <strong>en</strong>tonces f ∈ ∆(k · g) para todo k ∈ IR + .<br />

Una consecu<strong>en</strong>cia de ello es que, si a, b > 1 se ti<strong>en</strong>e que O(log a n) =<br />

O(log b n). Por ello, no hace falta indicar la base: O(log n)<br />

Transitividad: Si f ∈ ∆(g) y g ∈ ∆(h) se ti<strong>en</strong>e que f ∈ ∆(h).<br />

Simetría: Si f ∈ Θ(g) <strong>en</strong>tonces g ∈ Θ(f)<br />

(Obsérvese que las otras notaciones no son simétricas y trátese de dar un<br />

contraejemplo.)<br />

Regla de la suma: Si f1 ∈ O(g1) y f2 ∈ O(g2) <strong>en</strong>tonces f1+f2 ∈ O (máx(g1, g2))<br />

si<strong>en</strong>do máx(g1, g2)(n) = máx (g1(n), g2(n)).<br />

Junto con la escalabilidad, esta regla se g<strong>en</strong>eraliza fácilm<strong>en</strong>te así: si fi ∈<br />

O(f) para todo i = 1, . . . k, <strong>en</strong>tonces c1f1 + . . . + ckfk ∈ O(f).<br />

Otra consecu<strong>en</strong>cia útil es que si pk(n) es un polinomio de grado k, <strong>en</strong>tonces<br />

pk(n) ∈ O(n k ).<br />

Regla del producto: Si f1 ∈ ∆(g1) y f2 ∈ ∆(g2) <strong>en</strong>tonces f1 · f2 ∈ O(g1 · g2).<br />

Una consecu<strong>en</strong>cia de ello es que, si p < q, <strong>en</strong>tonces O(n p ) ⊂ O(n q ).<br />

Regla del sumatorio: Si f ∈ O(g) y la función g es creci<strong>en</strong>te,<br />

.<br />

n<br />

i=1<br />

Una consecu<strong>en</strong>cia útil es la sigui<strong>en</strong>te:<br />

n+1 <br />

f(i) ∈ O g(x) dx<br />

1<br />

n<br />

i<br />

i=1<br />

k ∈ O(n k+1 ).<br />

Estas propiedades no deb<strong>en</strong> interpretarse como meras fórmulas desprovistas<br />

de significado. Muy al contrario, expresan la idea de fondo de las medidas<br />

asintóticas, que consiste <strong>en</strong> ver la parte relevante de una función de coste p<strong>en</strong>sando<br />

<strong>en</strong> datos de gran tamaño. Gracias a ello, podemos simplificar considerablem<strong>en</strong>te<br />

las funciones de coste sin peligro de pérdida de información (para datos<br />

grandes, se <strong>en</strong>ti<strong>en</strong>de). Por ejemplo:

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

Saved successfully!

Ooh no, something went wrong!