08.05.2013 Views

Unidad II Fundamentos del Análisis de Algoritmos

Unidad II Fundamentos del Análisis de Algoritmos

Unidad II Fundamentos del Análisis de Algoritmos

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

<strong>Algoritmos</strong> y Estructuras <strong>de</strong> Datos <strong>Unidad</strong> <strong>II</strong> <strong>Fundamentos</strong> <strong><strong>de</strong>l</strong> <strong>Análisis</strong> <strong>de</strong> <strong>Algoritmos</strong><br />

2.3.1 Notación Asintótica O (<br />

La variable a representa el costo <strong>de</strong> cualquier tarea o labor cotidiana.<br />

c es una constante <strong>de</strong> multiplicación que representa el costo en unida<strong>de</strong>s <strong>de</strong> ejecución <strong>de</strong> una operación<br />

fundamental.<br />

Esta <strong>de</strong>finición se lee T(n) es O <strong>de</strong> f(n). De otra forma, la complejidad <strong>de</strong> una función t(n) está limitada<br />

por la función f(n); es <strong>de</strong>cir, el número máximo <strong>de</strong> operaciones fundamentales ejecutadas por T(n) no<br />

será mayor que f(n). La notación O es similar al menor o igual, cuando estamos refiriéndonos a tasas <strong>de</strong><br />

crecimiento.<br />

En la práctica ignoramos los efectos <strong>de</strong> a, c y cualquier operación <strong>de</strong> poca importancia cuando<br />

comparamos complejida<strong>de</strong>s. La trascen<strong>de</strong>ncia global <strong>de</strong> a tien<strong>de</strong> a ser insignificante conforme el tamaño<br />

<strong><strong>de</strong>l</strong> conjunto <strong>de</strong> la información se incrementa y el costo <strong>de</strong> una operación crítica (c) <strong>de</strong>be ser más o<br />

menos el mismo para algoritmos <strong>de</strong> clase semejante.<br />

La notación Big-Oh tiene tres propósitos:<br />

1. Compensar el error que se comete al ignorar términos pequeños en una fórmula matemática.<br />

2. Compensar el error que se comete al ignorar partes <strong><strong>de</strong>l</strong> programa que contribuye en una pequeña<br />

cantidad <strong>de</strong> tiempo.<br />

3. Permite clasificar algoritmos <strong>de</strong> acuerdo al límite superior <strong>de</strong> su tiempo <strong>de</strong> ejecución.<br />

2.3.1.1 Reglas <strong>de</strong> la Notación O<br />

1) Si T1 ( n)<br />

= Ο(<br />

f ( n)<br />

) y T2 ( n)<br />

= Ο(<br />

g(<br />

n)<br />

)<br />

( n)<br />

+ T ( n)<br />

= Ο(<br />

f ( n)<br />

g(<br />

n))<br />

a +<br />

) T1<br />

2<br />

( n)<br />

. T ( n)<br />

= ( f ( n).<br />

g(<br />

n))<br />

b Ο<br />

) T1<br />

2<br />

, entonces:<br />

n<br />

2) Si T(x) es un polinomio <strong>de</strong> grado n, entonces T ( x)<br />

= Ο(<br />

x )<br />

3) n = Ο(<br />

n)<br />

log para cualquier constante k<br />

k<br />

No se consi<strong>de</strong>ra apropiado incluir factores constantes y términos <strong>de</strong> or<strong>de</strong>n inferior en la notación O. Por<br />

ejemplo, no es correcto <strong>de</strong>cir O(4n²+6n), bastará con indicar O(n²).<br />

Ing. Alma Leticia Palacios Guerrero Página 7 <strong>de</strong> 13<br />

D:\lety\algoritmos y estructura <strong>de</strong> datos\<strong>Unidad</strong> <strong>II</strong> <strong>Fundamentos</strong> <strong><strong>de</strong>l</strong> <strong>Análisis</strong> <strong>de</strong> <strong>Algoritmos</strong>.doc<br />

Fecha <strong>de</strong> Actualización: 21/02/2007

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

Saved successfully!

Ooh no, something went wrong!