Está en la página 1de 16

1

2014

Corporacin Universitaria Del Caribe


CECAR
Facultad de Ingeniera
Ingeniera De Sistemas

Anlisis De Algoritmos
DOCENTE

Guillermo Hernndez
ESTUDIANTE
Jose Rios

Tabla de contenido
Bibliografa .................................................................................................................................... 4
1.

Anlisis de Algoritmos ....................................................................................................... 5

1.1.

Algoritmos De Bsquedas ............................................................................................. 5

1.1.1.

Bsqueda Secuencial ................................................................................................. 5

1.1.1.1.

Definicin: ............................................................................................................. 5

1.1.1.2.

Cdigo:................................................................................................................... 5

1.1.1.3.

Mejor Caso ............................................................................................................ 5

1.1.1.3.1.

Definicin .............................................................................................................. 5

1.1.1.3.2.

Conteo de OE......................................................................................................... 6

1.1.1.4.

Peor Casos ............................................................................................................. 6

1.1.1.4.1.

Definicin .............................................................................................................. 6

1.1.1.4.2.

Conteo de OE......................................................................................................... 6

1.1.1.5.

Pasos promedio ..................................................................................................... 7

1.1.1.6.

Grafica Mejor casos vs Peor caso .......................................................................... 8

1.1.1.7.

Teora vs Practica del conteo de OE ...................................................................... 8

1.1.2.

Bsqueda Binaria....................................................................................................... 8

1.1.2.1.

Definicin .............................................................................................................. 8

1.1.2.2.

Cdigo.................................................................................................................... 9

1.1.2.3.

Mejor Caso ............................................................................................................ 9

1.1.2.3.1.

Definicin .............................................................................................................. 9

1.1.2.3.2.

Conteo de OE....................................................................................................... 10

1.1.2.4.

Peor Caso ............................................................................................................. 11

1.1.2.4.1.

Definicin ............................................................................................................ 11

1.1.2.4.2.

Informacin para el peor caso ............................................................................ 11

1.1.2.4.3.

Conteo de OE....................................................................................................... 12

1.1.2.4.4.

Teora vs Practica Del Conteo OE ........................................................................ 12

1.1.2.4.5.

Grafica Mejor Vs Peor Caso(Tiempo Ejecucion) .................................................. 13

1.1.3.

Mtodo Transponer ................................................................................................ 13

1.1.3.1.

Definicin ............................................................................................................ 13

1.1.3.2.

Cdigo.................................................................................................................. 14

Primera forma ......................................................................................................................... 14

3
Segunda forma ........................................................................................................................ 14
1.1.3.3.

Evaluar casos ....................................................................................................... 14

1.1.3.4.

Grados de complejidad ....................................................................................... 15

1.1.3.4.1.

Primera forma ..................................................................................................... 15

1.1.3.4.2.

Segunda Forma.................................................................................................... 15

1.1.3.4.3.

Teora vs Practica conteo OE ............................................................................... 15

1.1.3.4.4.

Grafica Primer Mtodo Vs Segundo Mtodo ...................................................... 16

4
Bibliografa
UChile. (s.f.). Recuperado el 20 de Septiembre de 2013, de
http://users.dcc.uchile.cl/~rbaeza/inf/algoritmia.pdf
wikibooks. (s.f.). wikibooks. Recuperado el 19 de Septiembre de 3013, de wikibooks:
http://es.wikibooks.org/wiki/%C3%81lgebra_Lineal/Transpuesta_de_una_matriz

1. Anlisis de Algoritmos
1.1. Algoritmos De Bsquedas
1.1.1.

Bsqueda Secuencial

1.1.1.1. Definicin:
El mtodo de bsqueda secuencial es la tcnica ms sencilla de buscar un
elemento en un vector, funciona de la siguiente manera; recorrer el vector
posicin por posicin e ir comparando con el valor de cada una de ellas hasta,
que encuentre el elemento buscado o hasta que vector sea recorrido totalmente.

1.1.1.2.

Cdigo:

1.1.1.3. Mejor Caso


1.1.1.3.1.

Definicin

Para el mtodo de bsqueda secuencial el mejor caso se presenta cuando el


elementos a buscar se encuentre alojado en la posicin [0] del vector; es decir
que el datos este en la primera casilla de arreglo esto que conlleva que el ciclo
repetitivo solo har una sola iteracin ya que la instruccin if evala que el
despus que se halle el dato en el ndice [0] el if hace un return que evita que
el ciclo for haga ms de una iteracin.
Ejemplo: queremos buscar a 1:
Datos 1
ndice 0

2
1

4
2

5
3

6
4

7
5

8
6

9
7

9
8

10
9

1.1.1.3.2.

Conteo de OE

Para el conteo de operaciones elementales de mtodo del bsqueda


secuencial en su mejor caso se define tal y como se plante en su definicin y
dicho conteo ser subrayado con color rojo todas y cada una de las OE que se
hagan en el algoritmo implementado en lenguaje Java.
Nota: Las OE que salgan subrayadas son las que te contaran en cuenta para
dicho conteo, si una instruccin sale doblemente subrayada es por s hacer
dos OE en ella.

lnea
1
2
3
Total

OE
4
3
1
8 OE

1.1.1.4. Peor Casos


1.1.1.4.1.

Definicin

Para el peor caso del mtodo de bsqueda secuencia se puede presentar en


dos ocasiones que el elemento que deseamos hallar est en la ltima posicin
del vector o que dicho elemento no ese encuentre en el arreglo; en ambos
casos el mtodo tiene que recorrer todos las posiciones del arreglo es decir;
desde la primer hasta el ltimo ndice.
Ejemplo: queremos buscar a 10:
Datos 1
ndice 0

1.1.1.4.2.

2
1

4
2

5
3

6
4

7
5

8
6

9
7

9
8

10
9

Conteo de OE

Para el conteo de operaciones elementales en este caso se realiza de manera


similar al caso anterior.

7
Para este hacer una prueba a tomaremos el caso en que el elemento a buscar
se encuentre la ltima casilla de vector.
Nota: Las OE que salgan subrayadas son las que te contaran en cuenta para
dicho conteo, si una instruccin sale doblemente subrayada es por s hacer
dos OE en ella.

lnea
1
2
3
Total

OE
4n
3N
1
7n+1 OE

Las OE que se realizan en las lneas 1 y 2 se ejecutan n veces entonces se


multiplican por n siendo n el tamao de los datos de entrada. La OE de la
lnea 3 solo se realiza unas ves y es cuando se encuentra el elemento para
este caso en la ltima posicin.

1.1.1.5. Pasos promedio


El caso promedio o tambin llamado caso aleatorios no se puede hacer un coteo
de operaciones elementales exacto ya que el elemento a encontrar puede estar el
cualquier ndice del vector; entonces para dar solucin a este altercado se divide
el nmero datos de entradas del vector entre dos
vector[N/2]

1.1.1.6. Grafica Mejor casos vs Peor caso


10
9
8
7
6
5

OE Mejor Caso

OE Peor Caso

3
2
1
0
0

10

1.1.1.7. Teora vs Practica del conteo de OE


Datos De Entrada = 100,000
Caso
Teora
Mejor
8
Peor
(7*n)+1=700,001

Practica (Programa)
0 ut
4 ut

Conclusiones: De acuerdo con los pruebas realizadas entre la teora de


conteo de operaciones elementales y el tiempo de ejecucin del mismo
algoritmo implementado en un programa en lenguaje Java; puedo concluir
que de la teora y prctica arrojan resultados totalmente distintos y se puede
apreciar el tabla de la (teora vs prctica)

1.1.2.

Bsqueda Binaria

1.1.2.1. Definicin
El mtodo de bsqueda binaria es un excelente forma de buscar elementos
dentro de un vector, este algoritmos de bsqueda requiere que le vector se
encuentre ordenado previamente, se llama de bsqueda binaria por que el
algoritmo divide en dos y compra los elementos que se encuentren en la posicin
de centro de arreglo. Esta bsqueda utiliza un mtodo de divide y vencers para
localizar el valor deseado

1.1.2.2. Cdigo

1.1.2.3. Mejor Caso


1.1.2.3.1.

Definicin

Para el conteo de operaciones elementales del mtodo de la bsqueda binaria


en su mejor caso se define de la siguiente manera; lo ideal es que en el datos
se halle en la posicin centro del vector
Nota: Las OE que salgan subrayadas son las que te contaran en cuenta para
dicho conteo, si una instruccin sale doblemente subrayada es por s hacer
dos OE en ella.

10

1.1.2.3.2.

Conteo de OE

Haciendo las operaciones de las primeras 5 filas con un vector de 10 posiciones


quedan de la siguiente manera
K=6;
cen = 9/2 =4,5 peso como la variable cen es de tipo entero no se toman los
decimales entonces cen =4
Datos 1
ndice 0

2
1

4
2

5
3

6
4

7
5

8
6

9
7

9
8

10
9

Exactamente se van a cumplir la OE que estn subrayadas en la imagen anterior


Lnea
1
2
3
4
5
10
11
Totales OE

0E
1
1
2
3
4
2
1
140E

11

1.1.2.4. Peor Caso


1.1.2.4.1.

Definicin

La definicin de peor casos para el algoritmo de bsqueda binaria se presenta


cuando el elemento al que queramos encontrar no se encuentre almacenado o
este en algunos de los dos extremos la lista; esto conlleva a que el mtodo
dividir el vector varias veces y har comparaciones en vano hasta la ltima
iteracin del ciclo while.

1.1.2.4.2.

(UChile)

(UChile)

Informacin para el peor caso

12

1.1.2.4.3.

Conteo de OE

Total OE=

1.1.2.4.4.

Teora vs Practica Del Conteo OE

Datos De Entrada = 100,000


Caso
Teora
Mejor
14
Peor

=325.58

Practica (Programa)
0 ut
0 ut

Segn los resultados del tiempo de ejecucin en el mejor caso y el peor caso
con el nmero de entrada = 100,00 No logra que programa calcule ninguna
unidad de tiempo, eso se debe a la misma eficiencia del algoritmo de bsqueda

13

1.1.2.4.5.

Grafica Mejor Vs Peor Caso(Tiempo Ejecucion)

1
0.9
0.8
0.7
0.6
Mejor Caso

0.5

Peor Caso

0.4
0.3
0.2
0.1
0
0

200000

400000

600000

800000

1000000

1200000

Podemos observar que las lneas que presentan el mejor y el peor caso para el
algoritmo de bsqueda binaria toma un valor de 0 ut esto sucede porque dicho
algoritmos no depende de los todos de entrada simpe y cuando el vector este
ordenado.
Nota: en tiempo de ejecucin fue calculado con diferentes nmeros de datos
de entrada, probado en el mismo programa, el mimos equipo y en situaciones
muy parecidas en cambios casos.

1.1.3.

Mtodo Transponer

1.1.3.1. Definicin
Transpuesta
de una matriz m x n, es la matriz n x m cuyas columnas son los
renglones de A en el mismo orden. (wikibooks)
En otras palabras se intercambia las los valores de las columnas por los de las filas
una matriz Ejemplo: sea B la matriz original y sea

la matriz transpuesta

14

1.1.3.2. Cdigo
Primera forma

Segunda forma

1.1.3.3. Evaluar casos


Como se defini anterior mente el mtodo transponer (); transpone los datos de
una matriz ojo como en el cuerpo de ese mtodo no tienes instrucciones de
condiciones if entonces esto quiere decir que en el algoritmos de trasposicin NO
aplican los casos y estos son (mejor caso), (caso promedio) y (peor caso) , la
explicacin de ellos es que el nico objetivo de mtodo es transponer la matriz
dependiendo entonces del N que es el nmero de datos de entrada que en esta
implementacin hecha en lenguaje JAVA, N= matriz.length.
Conclusin: el grada de complejidad de pender de numero de OE del mtodos
por el tamao de datos de entrada.

15

1.1.3.4. Grados de complejidad


1.1.3.4.1.

Primera forma

Primera implementacin de este mtodo ms eficiente que la segunda forma.


La diferencia de estos dos mtodos est en la variable j, miremos la
codificacin del for interno for (int j = i+1; j < matriz.length; j++) { notamos
que la variable j toma el mismo valor i pero se le suma 1 esto quiere decir que
j siempre a tomar tener 1 valor ms que i en 1 y realizar por cada un vez
menos por cada iteracin del ciclo externo.
Lnea
1
2
3
4
5
Total OE=

1.1.3.4.2.

OE
5(N-1)
5 (N-1)*(N-1)
3(N-1) *(N-1)
5(N-1) *(N-1)
3(N-1) *(N-1)

Segunda Forma

Este algoritmos es ms ineficiente con respecto al anterior su explicacin es la


siguiente la imagen de cdigo exenten for anidados entonces se presenta la
siguiente situacin el for el extremo se ejecuta
veces y le interno se
ejecutara (
Conteo de OE:
Lnea
1
2
3
4
5
Total OE=

1.1.3.4.3.

OE
5N
5
4
7
4

Teora vs Practica conteo OE

Datos De Entrada = 500


Mtodo
Teora
Primero
3,986,479
Segundo
4,982,515

Practica (Programa)
7 ut
13 ut

Conclusin: Si comparamos la teora con la prctica al igual que el mtodo de


bsqueda secuencial nos podemos apreciar que los resultados son totalmente
diferentes.

16
Pero si vamos un poco ms all de la situacin y comparamos los resultados
entre los dos mtodos (primero y segundo) nos damos cuenta que tanto en
operaciones elementales como en tiempo de ejecucin el mtodo 1 es ms
eficiente que el 2 con el mismo nmero de datos de entrada y solucionado el
mismo problema(transponer una matriz).
Mi observacin: La opcin de modificar el algoritmo original fue algo que me
naci desde un principio y pude notar que hacer ciertos cambios en las
operaciones de un algoritmo se ve reflejado en las operaciones elementales y
en tiempo de ejecucin.

1.1.3.4.4.

Grafica Primer Mtodo Vs Segundo Mtodo

40
35
30
25
20

1r Metodo

15

2do Metodo

10
5
0
-5

200

400

600

800

1000

1200

Apreciando el comportamiento de las curvas notamos que representa al


segundo mtodo tiene un crecimiento mayor en tiempo de ejecucin con los el
mismo nmero de datos de entrada, probado en el mismo programa, el
mimos equipo y en situaciones muy parecidas al primer mtodo.

También podría gustarte