You are on page 1of 32

Tema 9

Optimizacion

J.T.P. Maria Eugenia Valesani - Programacion 1 - Fa.Ce.Na.

9. Optimizacion

Concepto. Objetivos. Factibilidad. Reglas de Jackson. Formas de optimizacin. Por afinacin.


Por algoritmos. Recursos. Tablas. Parmetros. Matemticos. Modelos de clasificacin. Distintos
mtodos. Eficiencia de algoritmos

J.T.P. Maria Eugenia Valesani - Programacion 1 - Fa.Ce.Na.

9. Optimizacion
9.1 Concepto

Optimizar un algoritmo implica construirlo lo mas correctamente posible, con


estilo, transparente, sin errores y eficiente.

J.T.P. Maria Eugenia Valesani - Programacion 1 - Fa.Ce.Na.

9. Optimizacion
9.2 Objetivos

Los objetivos principales son que el algoritmo debe ser construido lo ms


pequeo posible o que sea lo ms rpido en su ejecucin, o de ser viable,
ambos a la vez.
Lo ms pequeo posible: significa que tenga la menor cantidad de
instrucciones posibles

Lo ms rpido posible: significa economizar el tiempo de ejecucin del


algoritmo en mquina.

J.T.P. Maria Eugenia Valesani - Programacion 1 - Fa.Ce.Na.

9. Optimizacion
9.3 Factibilidad

La optimizacin puede provocar escribirlo incorrectamente, puede resultar


ms difcil de entender y ms costoso su mantenimiento, como as tambin
ms propenso a incorporar errores.
Todo esto cuesta mucho dinero por lo que debe justificarse econmicamente
la tarea de optimizar antes de emprenderla, de all deriva la primer regla de
Jackson.
En caso de justificarse econmicamente, la actitud debe ser construir
inicialmente un algoritmo claro y transparente, para luego optimizarlo, esto da
lugar a la segunda regla de Jackson.

J.T.P. Maria Eugenia Valesani - Programacion 1 - Fa.Ce.Na.

9. Optimizacion
9.4 Reglas de Jackson

Regla N 1: "No lo haga"


Si no se puede justificar econmicamente.

Regla N 2: "No lo haga todava"


Si est justificada comenzar con un diseo no ptimo, esto en pro de la
claridad y simplicidad, y a posteriori optimizarlo.

J.T.P. Maria Eugenia Valesani - Programacion 1 - Fa.Ce.Na.

9. Optimizacion
9.5 Formas de Optimizacion

Por afinacin

Por algoritmos

J.T.P. Maria Eugenia Valesani - Programacion 1 - Fa.Ce.Na.

9. Optimizacion
9.5 Formas de Optimizacion

Por afinacin

Por algoritmos
Esto implica no modificar la estructura del algoritmo sino utilizar factores de
bloque, segmentacin de programas, asignacin de memorias intermedias,
etc.

J.T.P. Maria Eugenia Valesani - Programacion 1 - Fa.Ce.Na.

9. Optimizacion
9.5 Formas de Optimizacion

Por afinacin

Por algoritmos
La optimizacin por algoritmos se realiza a travs de recursos como ser:
Estructuras de datos (arreglos, pilas, colas, rboles, etc).
Tablas
Matemticos (por ejemplo para determinar pares e impares se utilizan los
recursos: parte entera, resto, potencia de menos uno (-1), etc).

Parmetros (por ejemplo para determinar la longitud de los arreglos, tope


de una pila, frente y final de una cola, tasa de inters, etc.).

J.T.P. Maria Eugenia Valesani - Programacion 1 - Fa.Ce.Na.

9. Optimizacion
9.5 Formas de Optimizacion

La mayora de los autores (Jackson, Boria, Rice y Rice) eligen los modelos
de clasificacin para ilustrar la optimizacin por algoritmos.
Para ilustrar el objetivo ms pequeo se emplea el caso de determinacin
de tipos de tringulos.
Para ilustrar el objetivo ms rpido se aprovechar el mtodo de
clasificacin de intercambio directo comunmente llamado "burbuja"
(desarrollado en el tema de clasificacion).

J.T.P. Maria Eugenia Valesani - Programacion 1 - Fa.Ce.Na.

9. Optimizacion
9.5 Formas de Optimizacion

Optimizacin haciendo el algoritmo ms pequeo

Dado un conjunto de tros de valores A, B, C (mayores que cero) determinar,


de entre los que forman tringulo, los distintos tipos (escaleno, issceles,
equiltero) y tambin cual de ellos es recto. Informar de acuerdo a la figura
que contiene el modelo de la salida.

LADO 1
-----

LADO 2
-----

LADO 3
-----

TIPO
Escaleno
No tringulo
Equiltero
Escaleno

J.T.P. Maria Eugenia Valesani - Programacion 1 - Fa.Ce.Na.

RECTO
SI
NO
SI

9. Optimizacion
9.5 Formas de Optimizacion

Optimizacin haciendo el algoritmo ms pequeo


A)

P R I_ P R O

U N T R IO

RECTO S

E Q U IL A T E R O

IS O S C E L E S

U N

E S C A LE N O

T R I A N G U L O

F IN _ P R O

B)

N IV E L 1
Program a
P r in c i p a l

N IV E L 2
U n - T r io

PRI - PRO
(1 vez)
T R IA N G U L O
(0 1 vez)

U N - T R IO
(t veces)

N IV E L 3
T r ia n g u lo

N IV E L 4
T ip o

T IP O
(1 vez)

E q u i la t e ro
Iso s c e le s

RECTO
(1 vez)

E s c a le n o

N O T R IA N G U L O
(0 1 vez)

I M P R IM IR
(1 vez)

F IN - P R O
(1 vez)

J.T.P. Maria Eugenia Valesani - Programacion 1 - Fa.Ce.Na.

COMENZAR

PRI-PRO

PRIPRO

UN-TRIO

A < B+C

RECTO

"A B C TIPO

FIN-PRO

NO

"
SI
B < A+C

EOF

NO

UN-TRIO

NOTRIANGULO

NO

SI

LEER

C < A+B

SI

NO

SI

FIN
PRO

TRIANGULO

PARAR
IMPRIMIR

LEER

NOTRIANGULO

LEE
R

TIPO= "NO
TRIANGULO"

IMPRIMIR
TRIANGULO

TIPO

A, B, C, TIPO

LEER
A,B,C

RECTO= " "

RECTO

RECTO

TIPO

A 2 = B 2 + C2
SI

A = B

RECTO

B = C

SI

si

TIPO=
"EQUILATERO"

no

NO

NO

B = C

SI

TIPO=
"ISOSCELES"

NO

B 2 = A 2 + C2

si

no

A = C

SI

C2 = A2 + B2
NO
TIPO=
"ESCALENO"

no
RECTO = "NO"

J.T.P. Maria Eugenia Valesani - Programacion 1 - Fa.Ce.Na.

si

RECTO = "SI"

9. Optimizacion
9.5 Formas de Optimizacion

Optimizacin haciendo el algoritmo ms pequeo


Seguidamente se procede a optimizar el algoritmo desarrollado en el ejemplo anterior para tratar
de hacerlo ms pequeo (menor cantidad de instrucciones), teniendo en cuenta lo siguiente:

1) En la rutina un-tro se observa que la condicin matemtica de tringulo


(un lado sea menor que la suma de los otros dos) se transforma en suficiente
si el lado que se compara es el mayor de todos.

J.T.P. Maria Eugenia Valesani - Programacion 1 - Fa.Ce.Na.

9. Optimizacion
9.5 Formas de Optimizacion

Optimizacin haciendo el algoritmo ms pequeo

2) En la rutina de recto tambin la condicin necesaria basada en Pitgoras


(A2= B2+ C2) se transforma en suficiente si se sabe con anticipacin cual es
la hipotenusa, o sea el lado mayor.
R EC TO

= B

+ C

si

+ C

si

+ B

si

no

= A

R E C T O = " S I"

no

= A

no

R EC TO = "N O "

J.T.P. Maria Eugenia Valesani - Programacion 1 - Fa.Ce.Na.

9. Optimizacion
9.5 Formas de Optimizacion

Optimizacin haciendo el algoritmo ms pequeo

3) En la rutina tipo se advierte que deben compararse todos contra todos los
lados para determinar el tipo de tringulo. Probablemente el tener juntos los
posibles lados iguales, implique una simplificacin del algoritmo.
TIPO

A = B

B = C

SI

NO

B = C

SI

T IP O =
"E Q UILA TE RO "

NO

SI

T IP O =
"IS OS CE LE S "

NO

A = C

SI

NO

T IP O =
"E S CA LE N O"

J.T.P. Maria Eugenia Valesani - Programacion 1 - Fa.Ce.Na.

9. Optimizacion
9.5 Formas de Optimizacion

Optimizacin haciendo el algoritmo ms pequeo

Transformar las condiciones necesarias con que fueron definidas


inicialmente, en dos condiciones suficientes (puntos 1 y 2) y simplificar el
anlisis de tipo en el punto 3, se logra si los lados estn clasificados en
orden descendente.
Aprovechando una rutina desarrollada que ordena en forma descendente un
conjunto de nmeros, se invoca a la misma al comienzo de la rutina un_tro
y a partir de all se optimiza el algoritmo con los lados ordenados, quedando
como se indica a continuacin las rutinas un-tro , tipo y recto.

J.T.P. Maria Eugenia Valesani - Programacion 1 - Fa.Ce.Na.

9. Optimizacion
9.5 Formas de Optimizacion

Optimizacin haciendo el algoritmo ms pequeo

Un_tro: Se suprimen las condiciones de B<A+C y C<A+B.


U N -T R IO

O R D E N A R

A < B + C

S i

T R IA N G U L O

IM P R IM IR

L E E R

J.T.P. Maria Eugenia Valesani - Programacion 1 - Fa.Ce.Na.

N o

N O
T R IA N G U L O

9. Optimizacion
9.5 Formas de Optimizacion

Optimizacin haciendo el algoritmo ms pequeo

Tipo: En el caso de tringulos issceles, al ordenar los lados, los que son
iguales estn contiguos, por lo que la condicin A = C es innecesaria.
TIPO
TIPO

A=B

B=C

SI

NO

SI

TIPO=
"EQUILATERO"

A=B

SI

NO

NO
B=C

SI

NO

TIPO=
"ISOSCELES"

B=C

NO

A=C

B=C

SI

TIPO=
"ISOSCELES"

SI

NO
NO

TIPO=
"ESCALENO"

TIPO=
"ESCALENO"

J.T.P. Maria Eugenia Valesani - Programacion 1 - Fa.Ce.Na.

SI

TIPO=
"EQUILATERO"

9. Optimizacion
9.5 Formas de Optimizacion

Optimizacin haciendo el algoritmo ms pequeo

Recto: Se suprimen las condiciones B2= A2+ C2 y C2= A2+ B2


RECTO

RECTO
A

= B

+ C

si

+ C

si

+ B

si

no

= A

R E C T O = " S I"

A2 = B2+C2

SI

no

NO
C

= A

RECTO = "NO"
no

R EC TO = "N O "

J.T.P. Maria Eugenia Valesani - Programacion 1 - Fa.Ce.Na.

RECTO = "SI"

9. Optimizacion
9.5 Formas de Optimizacion

Optimizacin haciendo el algoritmo ms rpido.

Aprovechando la utilizacin de la rutina de ordenacin de los lados del


ejemplo anterior (ORDENAR), a los efectos de introducir otros recursos de
optimizacin que no hagan a la reduccin del programa - lo ms pequeo
posible - , sino a la reduccin de los tiempos de ejecucin - lo ms rpido
posible - .
A continuacin se desarrolla uno de los mtodos de clasificacin ms
conocido: intercambio directo o burbuja.
Recordemos que este algoritmo se basa en recorrer la lista (arreglo), de derecha a izquierda o
de izquierda a derecha, examinando pares sucesivos de elementos adyacentes, permutndose
los pares desordenados. As el desarrollo del algoritmo tal cual se mostr en el tema
correspondiente.

J.T.P. Maria Eugenia Valesani - Programacion 1 - Fa.Ce.Na.

9. Optimizacion
9.5 Formas de Optimizacion

Optimizacin haciendo el algoritmo ms rpido.

Aprovechando la utilizacin de la rutina de ordenacin de los lados del


ejemplo anterior (ORDENAR), a los efectos de introducir otros recursos de
optimizacin que no hagan a la reduccin del programa - lo ms pequeo
posible - , sino a la reduccin de los tiempos de ejecucin - lo ms rpido
posible - .
A continuacin se desarrolla uno de los mtodos de clasificacin ms
conocido: intercambio directo o burbuja.
Recordemos que este algoritmo se basa en recorrer la lista (arreglo), de derecha a izquierda o
de izquierda a derecha, examinando pares sucesivos de elementos adyacentes, permutndose
los pares desordenados. As el desarrollo del algoritmo tal cual se mostr en el tema
correspondiente.

J.T.P. Maria Eugenia Valesani - Programacion 1 - Fa.Ce.Na.

V =

15

42

33

10

P R IM E R A P A S A D A
1 C o m p a r.

15

42

33

10

2 C o m p a r.

15

42

33

10

10

IN T E R C A M B IA

3 C o m p a r.

15

33

42

IN T E R C A M B IA

4 C o m p a r.

15

33

42

10

IN T E R C A M B IA

F IN D E L A
PASADA

15

33

10

L u e g o d e la p r im e r a p a s a d a y a l c a b o d e la s
n - 1 c o m p a r a c io n e s e l v a lo r m a s g r a n d e fu e
s itu a d o e n la ltim a p o s ic i n .

42

SEGUNDA PASADA
1 C o m p a r.

15

33

10

42

2 C o m p a r.

15

33

10

42

10

42

IN T E R C A M B IA

3 C o m p a r.

15

33

IN T E R C A M B IA

4 C o m p a r.

F IN D E L A
PASADA

15

10

33

42

15

10

33

42

L u e g o d e la s e g u n d a p a s a d a y a l c a b o d e
la s n - 1 c o m p a r a c io n e s e l s e g u n d o v a lo r
m a s g r a n d e fu e s itu a d o e n la p e n lt im a
p o s ic i n .

. . . . . . . .
E s te p r o c e s o d e ll e v a r e l m a y o r v a lo r h a c i a la p a r te d e r e c h a d e l
v e c to r s e r e p ite h a s ta la ltim a p a s a d a , la c u a l n o s a s e g u r a q u e e l
v e c to r q u e d a c o m p le t a m e n te o r d e n a d o .

10

15

33

42

J.T.P. Maria Eugenia Valesani - Programacion 1 - Fa.Ce.Na.

V =

15

42

33

10

IN IC IO

IM E R A P A S A D A
1 C o m p a r.

15

42

33

10

2 C o m p a r.

15

42

33

10

IN G R E S A R
N

IN T E R C A M B IA

3 C o m p a r.

15

33

Al analizar el algoritmo se
observa que se realiza en
cada
pasada
n-1
comparaciones
para
analizar los n-1 elementos
adyacentes, pero adems se
realizan
n-1
pasadas
garantizando la ordenacin
total de la lista, realizando
en total (n-1) * (n-1)
comparaciones resultando
el tiempo de ejecucin del
algoritmo funcin de n2.

L E E R
A (I)
I = 1 , N

42

10

IN T E R C A M B IA

J = 1

4 C o m p a r.

15

33

42

10

IN T E R C A M B IA

I = 1

F IN D E L A
PASADA

15

33

10

L u e g o d e la p r im e r a p a s a d a y a l c a b o d e la s
n - 1 c o m p a r a c io n e s e l v a lo r m a s g r a n d e fu e
s itu a d o e n la ltim a p o s ic i n .

42

SEGUNDA PASADA
A (I+ 1 ) > A (I)

1 C o m p a r.

15

33

10

N O

42
S I

2 C o m p a r.

15

33

10

42

10

42

A U X I = A (I)
A (I) = A (I+ 1 )
A (I+ 1 ) = A U X I

IN T E R C A M B IA

3 C o m p a r.

15

33

IN T E R C A M B IA

I = N - 1

4 C o m p a r.

15

10

33

N O

I = I + 1

N O

J = J + 1

42
S I

F IN D E L A
PASADA

15

10

33

42

L u e g o d e la s e g u n d a p a s a d a y a l c a b o d e
la s n - 1 c o m p a r a c io n e s e l s e g u n d o v a lo r
m a s g r a n d e fu e s itu a d o e n la p e n lt im a
J = N - 1
p o s ic i n .

. . . . . . . .
E s te p r o c e s o d e ll e v a r e l m a y o r v a lo r h a c i a la p a r te d e r e c h a d e l
v e c to r s e r e p ite h a s ta la ltim a p a s a d a , la c u a l n o s a s e g u r a q u e e l
v e c to r q u e d a c o m p le t a m e n te o r d e n a d o .

10

15

33

42

S I

P A R A R

J.T.P. Maria Eugenia Valesani - Programacion 1 - Fa.Ce.Na.

9. Optimizacion
9.5 Formas de Optimizacion

Optimizacin haciendo el algoritmo ms rpido.


IN IC IO

IN IC IO

1 Optimizacin

IN G R E S A R
N

IN G R E S A R
N

Como la lista pudo haber sido


ordenada en alguna pasada
intermedia,
una
primera
optimizacin del mtodo
consiste en parar cuando se
detecte una pasada nula
(cuando
no
existe
permutacin), agregando al
algoritmo un control de
permutaciones (CP) quedando
como se muestra en la figura

LE E R
A (I)
I = 1 , N

L E E R
A (I)
I = 1 , N
J = 1

J = 1
C P = 0

I = 1

I = 1

A (I+ 1 ) > A (I)

A (I+ 1 ) > A (I)

N O

N O

S I

S I

A U X I = A (I)
A (I) = A (I+ 1 )
A (I+ 1 ) = A U X I

A U X I = A (I)
A (I) = A (I+ 1 )
A (I+ 1 ) = A U X I

C P = C P + 1

I = N - 1

I = N - 1

N O

N O

I = I + 1

N O

J = N -1

I = I + 1
S I

S I

C P = 0

J = N - 1

N O

J = J + 1

S i
S i

S I

J = J + 1

J.T.P. Maria Eugenia Valesani - Programacion 1 - Fa.Ce.Na.


P A R A R

P A R A R

N O

De esta manera cuando no


existan permutaciones, o sea
CP = 0, se detendr el
algoritmo
realizando
un
nmero
menor
de
comparaciones al calculado
anteriormente

9. Optimizacion
9.5 Formas de Optimizacion

Optimizacin haciendo el algoritmo ms rpido.

2 Optimizacin

IN IC IO
IN IC IO

IN G R E S A R
N

Como en la primer pasada el


algoritmo lleva el elemento
ms chico o ms grande al
final de la lista, en la siguiente
pasada lleva el segundo ms
chico o ms grande a la
penltima posicin y a
continuacin
hace
una
comparacin ociosa, por lo
que
en
esta
segunda
optimizacin lo que se
pretende es que en las pasadas
siguientes se reduzca en uno la
cantidad de comparaciones, y
as sucesivamente.

IN G R E S A R
N

LE E R
A (I)
I = 1 , N

LE E R
A (I)
I = 1 , N

J = 1
J = 1

C P = 0
C P = 0

I = 1
I = 1

A (I+ 1 ) > A (I)

N O

A (I+ 1 ) > A (I)

N O

S I
S I

A U X I = A (I)
A (I) = A (I+ 1 )
A (I+ 1 ) = A U X I

A U X I = A (I)
A (I) = A (I+ 1 )
A (I+ 1 ) = A U X I

C P = C P + 1

C P = C P + 1

I = N - 1

N O

I = I + 1
I = N - J

N O

I = I + 1

S I
S I

C P = 0

N O

J = N -1

N O

J = J + 1
C P = 0

N O

J = N -1

S i
S i

S i
S i

P A R A R

N O

J = J + 1

Esto se logra cambiando en el


algoritmo el control de salida
de la iteracin ms interna N 1 por N J quedando como
se muestra en la figura

J.T.P. Maria Eugenia Valesani - Programacion 1 - Fa.Ce.Na.


P A R A R

9. Optimizacion
9.5 Formas de Optimizacion

Optimizacin haciendo el algoritmo ms rpido.

2 Optimizacin

IN IC IO
IN IC IO

IN G R E S A R
N

En este caso el algoritmo, si


no tuviera el control de
permutaciones, hara en la
primer
pasada
n-1
comparaciones, en la segunda
n-2, y as sucesivamente hasta
que en la n-1 pasada hara 1
sola comparacin. Por lo tanto
la suma de todos los trminos
de esta progresin aritmtica
sera:

IN G R E S A R
N

LE E R
A (I)
I = 1 , N

LE E R
A (I)
I = 1 , N

J = 1
J = 1

C P = 0
C P = 0

I = 1
I = 1

A (I+ 1 ) > A (I)

N O

A (I+ 1 ) > A (I)

N O

S I
S I

A U X I = A (I)
A (I) = A (I+ 1 )
A (I+ 1 ) = A U X I

C = ((n-1) + 1) *(n-1) / 2 =
(n2 - n) / 2

A U X I = A (I)
A (I) = A (I+ 1 )
A (I+ 1 ) = A U X I

C P = C P + 1

C P = C P + 1

I = N - 1

N O

I = I + 1
I = N - J

N O

I = I + 1

N O

J = N -1

S I
S I

C P = 0

N O

J = N -1

N O

J = J + 1
C P = 0

N O

J = J + 1

S i
S i

S i
S i

P A R A R

J.T.P. Maria Eugenia Valesani - Programacion 1 - Fa.Ce.Na.


P A R A R

9. Optimizacion
9.5 Formas de Optimizacion

Optimizacin haciendo el algoritmo ms rpido.


IN IC IO

Buscar la forma de detener la


ejecucin
del
algoritmo
cuando la lista ya est
ordenada, en lugar de esperar
hasta que se haga una pasada
nula innecesaria, como ocurre
en el caso de la 1
Optimizacin.

IN G R E S A R
N

LE E R
A (I)
I = 1 , N

J = 1

C P = 0

I = 1

A (I+ 1 ) > A (I)

3 Optimizacin

N O

S I

A U X I = A (I)
A (I) = A (I+ 1 )
A (I+ 1 ) = A U X I
C P = C P + 1

I = N - 1

N O

I = I + 1

N O

J = N -1

S I

C P = 0

N O

J = J + 1

S i
S i

P A R A R

J.T.P. Maria Eugenia Valesani - Programacion 1 - Fa.Ce.Na.

9. Optimizacion
9.5 Formas de Optimizacion

Optimizacin haciendo el algoritmo ms rpido.

4 Optimizacin
Dependiendo del grado de desorden de la lista es til ejecutar pasadas alternativas de izquierda
a derecha y de derecha a izquierda. Esta optimizacin se conoce como el mtodo de la
sacudida.
Por ejemplo si tuviramos la siguiente lista: 1, 5, 4, 3, 2
Si hiciramos pasadas de izquierda a derecha la lista se ordenara en una sola pasada, en
cambio si hiciramos pasadas de derecha a izquierda seran necesarias cuatro pasadas.
Sin embargo si tuviramos la siguiente lista: 4, 3, 2, 1, 5
Si se realizan pasadas de izquierda a derecha la lista se ordenara en cuatro pasadas, en
cambio si se realizan pasadas de derecha a izquierda sera necesaria una sola pasada.

J.T.P. Maria Eugenia Valesani - Programacion 1 - Fa.Ce.Na.

9. Optimizacion
9.5 Formas de Optimizacion

Optimizacin haciendo el algoritmo ms rpido.

5 Optimizacin
Clasificacin binaria (es utilizada por los programas productos comerciales: SORT).
Los mtodos binarios tienen por principio comn subdividir la lista a ordenar en dos o ms
sublistas, las que una vez ordenadas utilizando algoritmos simples de clasificacin, intercalan
las mismas (MERGE).
La razn es que es ms rpido ordenar dos listas de (n/2) elementos e intercalarlas, que
ordenar una lista de n elementos.
Ejemplo elemental: Ordenar una lista de diez(10) elementos requiere (n-1)*(n-1) comparaciones
igual a 9*9 = 81 con el mtodo de burbuja simple versus dos listas de cinco(5) elementos cada
una (4*4)*2 = 32 comparaciones ms las comparaciones que insume el proceso de intercalacin
(aproximadamente n=10 comparaciones) lo que nos dara un total de 42 comparaciones,
sustancialmente menor que las 81 hechas con el mtodo burbuja.

J.T.P. Maria Eugenia Valesani - Programacion 1 - Fa.Ce.Na.

9. Optimizacion
9.5 Formas de Optimizacion

Conclusin:
Hemos visto los dos principios bsicos de optimizacin:
El primero lo ms pequeo posible.
El segundo lo ms rpido posible.

En forma pura cada una de ellas.


En los problemas reales a veces se exige no hacerlo, o no hacerlo todava. En caso de hacerlo
puede presentarse prioritariamente uno de ellos (en funcin de las restricciones de tamao o
tiempo), o ambos a la vez , para lo cual habra que balancear las posibilidades de cada una.

J.T.P. Maria Eugenia Valesani - Programacion 1 - Fa.Ce.Na.

9. Optimizacion
9.6 Eficiencia de algoritmos

Definicin de Eficiencia
Uso racional de los recursos con que se cuenta para alcanzar un objetivo predeterminado. A
mayor eficiencia menor la cantidad de recursos que se emplearn, logrando mejor optimizacin
y rendimiento.

El anlisis de eficiencia de los algoritmos o mtodos aplicados en los algoritmos es una tarea
generalmente compleja y afecta directamente al tiempo de ejecucin de los mismos.
En las distintas optimizaciones que se realizaron en los puntos anteriores se pudo calcular, en
uno de ellos, la cantidad de comparaciones que se realizaran, y en funcin de ellas est el
tiempo de ejecucin de los respectivos algoritmos. En otras, encontrar frmulas que permitan
calcular el tiempo se hace difcil.

J.T.P. Maria Eugenia Valesani - Programacion 1 - Fa.Ce.Na.

You might also like