Sunteți pe pagina 1din 15

UNIVERSIDAD ABIERTA Y A DISTANCIA DE MXICO

INGENIERA EN DESARROLLO DE SOFTWARE


ASIGNATURA: ESTRUCTURA DE DATOS

UNIDAD DOS: ORDENACION Y BUSQUEDA.
ACTIVIDAD UNO: IDENTIFICACION DE METODOS DE BUSQUEDA.

NOMBRE DEL ALUMNO: CABRERA HERNNDEZ ROBERTO

MATRICULA: AL12504228

FACILITADOR: CARMEN GOMEZ PEREZ

FECHA: 22/03/2014

CUATRIMESTRE: SEXTO

CORREO ELECTRNICO: AL12504228@unadmexico.mx

OPCIONAL: shagadelico09051980@yahoo.com


ACTIVIDAD UNO: IDENTIFICACION DE METODOS DE BUSQUEDA.

1. Definicin de mtodos bsqueda:
Es la operacin que tiene como objetivo la localizacin de un elemento dentro de la estructura de
datos. Por lo regular el programador trabaja grandes cantidades de datos almacenados en arreglos y se
puede decir que el arreglo contiene valores claves de manera que se pueda buscar o encontrar con
facilidad. Como se ha visto en la unidad anterior el array de una dimensin o lista de estructura o acceso
secuencial encontramos dos tcnicas para este tipo de mtodos, uno es la bsqueda lineal y bsqueda
binaria.
Otra definicin de bsqueda en el portal internet es el proceso de localizar un registro (elemento)
con un valor de llave particular. La bsqueda termina exitosamente cuando se localiza el registro que
contenga la llave buscada, o termina sin xito, cuando se determina que no aparece ningn registro con
esta llave. A continuacin se menciona cada una de estas y su definicin.
2. Bsqueda secuencial:
La bsqueda secuencial, tambin se conoce como bsqueda lineal. Supongamos una coleccin de
registros organizados como una lista lineal. El algoritmo bsico de bsqueda secuencial consiste en
empezar al inicio de la lista e ir a traves de cada registro hasta encontrar la llave indicada (k), o hasta al
final de la lista.
Tambin se encuentra como una tcnica simple para buscar un elemento en un arreglo la cual
consiste en recorrer el arreglo elemento a elemento e ir comparando con el valor buscado en este caso
una clave. Ejemplo: la primera casilla del arreglo se puede decir que se debe de encontrar el elemento
buscado y visto en todas las casillas. De esta manera se obtendra como resultado un solo valor, y la
posicin del elemento es cero. La bsqueda lineal funciona bien en arreglos pequeos u ordenados en
este caso.
A continuacin le dejo un ejemplo sencillo que me llamo la atencin del mtodo lineal en
java:
Se considera un arreglo representado de la siguiente manera:
1. Tenemos un arreglo de tamao 50
2. Luego el programa buscara el numero 41 por lo cual intentara buscar los rangos
3. Una vez que el algoritmo encuentre coincidencias mostrara la posicin del elemento
encontrado.
4. En este caso nos da un rango del indice 27.

Pantallas en NetBeans:
Pantalla uno:

Pantalla dos:

Pantalla tres:

Pantalla cuatro:


Pantalla final y resultados:

3. En este caso tambin la bsqueda secuencial indexada es un mtodo popular donde el archivo
secuencial indexado implica un aumento en la cantidad de espacio requerida. Una de las
caractersticas de este indice consta de una llave kindex y un apuntador al registro en el archivo
que corresponda al mismo.
Les dejo un pequeo cdigo como ejemplo:
PROCEDURE B_S_INDEXADA (llave:integer; var pocis:integer);
var
i,n:integer;
f:boolean;
begin
f:=false;
i:=1;
while (i<llave) then
f:= true;
else
inc(i);
if i=1 then
linf:=1
else
linf:=pindex[i-1];
if f then
lsup:=pindex[i]-1
else
lsup:=n;
j:=linf; f:=false;
while(j<=lsup) ands (not f) do
if k[j]="llave" then f:="true"
else
inc(j);
if f then posic:="j"
else
posic:="0;"
end;

4. Bsqueda binaria:
Es el mtodo ms eficiente para encontrar elementos en un arreglo ordenado. El proceso
comienza comparando el elemento central del arreglo con el valor buscado. Si ambos coinciden finaliza
la bsqueda. Si no ocurre as, el elemento buscado ser mayor o menor en sentido estricto que el central
del arreglo. Si el elemento buscado es menor que el contenido de la casilla central se debe de cambiar el
segmento a considerar al segmento que est a la izquierda de tal sitio central.
Si los datos que se buscan estn clasificados en un determinado orden, el mtodo citado
anteriormente se denomina bsqueda binaria. La bsqueda binaria utiliza un mtodo de divide y
vencers para localizar el valor deseado. Con este mtodo se examina primero el elemento central de la
lista; si este es el elemento buscado, entonces la bsqueda ha terminado.
A continuacin le dejo un ejemplo sencillo que me llamo la atencin del mtodo binario en
java:
Se considera un algoritmo de edades en este caso utilizando lenght es decir la longitud de la
cadena o del arreglo en un entero este representado de la siguiente manera:
5. Tenemos un arreglo entero de 35
6. Luego el programa buscara la cadena de edades de 28 a 35
7. Una vez que el algoritmo encuentre coincidencias mostrara el rango encontrado.
8. En este caso nos da un rango encontrado 3.

Pantalla uno:

Pantalla dos:


Pantalla final:





5. Bsqueda por interpolacin:
Consiste en tratar de acertar en que parte del intervalo est la clave que se est buscando en lugar
de ciegamente dividir el arreglo a la mitad. Para ello se utiliza la siguiente frmula:
X= izq + (key-a[izq]. Key)*(der izq)/(a[der].key-a[izq].key) /0
A continuacin le dejo un ejemplo sencillo que me llamo la atencin del mtodo de
bsqueda por interpolacin en java:
Se considera un algoritmo de interpolacin hermite
1. Se digita la aproximacin
2. Los valores de imagen y de X
3. Se aplica la formula y el numero de cocientes
4. Se aplican las variables que nos darn el resultado de H
Pantalla uno:



Pantalla dos:

Pantalla tres:


Pantalla cuatro:


Pantalla cinco:


Pantalla seis:


Nota: Les imprimo las primeras siete pantallas, sin embargo faltan pero la verdad el documento estar
pesado. Espero comprendan que la actividad es muy picada y me gustara practicar mas y poner ms
ejemplos.
Pantalla final:


6. Menciona y ejemplifica en qu casos conviene aplicar cada uno de los mtodos de bsqueda
(secuencial, binaria e interpolacin).

Mtodo de bsqueda secuencial:

Bueno por lo que he observado los archivos secuenciales tienden a un orden lgico y se procesa al
azar.
Un ejemplo seria la probabilidad de nmeros de la lotera o que el programa indicara a los diez
promedios ms altos de una escuela. Es decir la bsqueda secuencial permite realizar ndices
pequeos a lo ms grande. Por lo que nuestro programa se reduce los registros y los resultados son
ms exactos.

Mtodo de bsqueda binaria:

En este mtodo se localiza el valor deseado y se examina cada elemento central. En este caso los
arboles binarios de bsqueda de datos de la llave y los valores de la lista ordenada.

Un ejemplo seria en el INEGI buscar datos o fechas que ayuden a descifrar datos requeridos al
momento. Los datos podran ser fechas de la poblacin de 1950 al 2013.

Mtodo de bsqueda interpolacin:

En este mtodo puedo decir que las tablas y los archivos son ordenados, en este caso se requiere de la
aritmtica y clculos ms elaborados, en lo personal considero que es la ms difcil de las otras dos.
Y de alguna manera la ecuacin del mtodo es muy compleja.
Un ejemplo seria realizar cualquier operacin matemtica para encontrar el valor o el tamao de los
parmetros. En este caso resolver un problema matemtico o en el caso de los ingenieros de software,
resolver una necesidad del usuario, por ejemplo las aplicaciones de hoy en da ayudan a cubrir ese
sector a los usuarios.
7. Menciona de forma clara y puntual las ventajas y desventajas de utilizar cada uno de los
mtodos de bsqueda vistos a lo largo de la Unidad 2.

Mtodo de bsqueda secuencial:

Ventajas:

1. Es un algoritmo sencillo de bsqueda
2. No requiere ningn proceso previo de tabla
3. Conocimiento sobre las llaves
4. La bsqueda del problema es directo
5. Es el mejor mtodo que consiste en observar lo que solicita cada registro de acuerdo a las
probabilidades de acceso detectadas.
Desventajas:
1. El mtodo de bsqueda es lento
2. Los datos no estn ordenados
3. Sin no se tiene una llave particular, se requiere buscar en toda la lista
4. Para las aplicaciones interactivas su rendimiento es pobre
5. La bsqueda secuencial es el mtodo menos eficiente.

Mtodo de bsqueda binaria:

Ventajas:

1. Es un mtodo eficiente ya que el vector es ordenado.
2. El mtodo binario proporciona una ordenacin en todos sus archivos
3. Su mayor ventaja es que los archivos son extensos.
4. Es un mtodo eficiente en buscar en una lista ordenada sin emplear tablas o ndices
adicionales.

Desventajas:
1. El archivo debe de estar ordenado y almacenado correctamente
2. No revisa todos los elementos del archivo
3. Esta bsqueda de archivos es enorme y pude ser muy costoso



Mtodo de bsqueda interpolacin:

Ventajas:

1. La bsqueda es mucho mejor que la binaria en la prctica, principalmente por el tamao del
logaritmo.
2. Incluso suele ser el ms complejo pero puede proporcionar una importante bsqueda de
resultados ya que las claves o llaves estn distribuidas de modo uniforme.
Desventajas:
1. La bsqueda de la interpolacin requiere una aritmtica ms elaborada, los clculos de la
bsqueda pueden ser lentos.
2. Para lograr esta bsqueda se necesita llaves, multiplicaciones y divisiones complejas,
clculos de nivel alto.

8. Redacta un caso e indica qu mtodo de bsqueda resulta ms eficiente en su uso.
En lo personal el primer mtodo es muy sencillo, sin embargo tambin se corre el riesgo de
equivocarse y cometer errores de captura. El ejemplo que expuse e imprim pantallas fue un ejemplo
que el anterior cuatrimestre se haba trabajado muy poco. Ya que en este inicio se trabajo en la
primera unidad las pilas, colas y listas.
Se considera un arreglo representado de la siguiente manera:
1. Tenemos un arreglo de tamao 50
2. Luego el programa buscara el numero 41 por lo cual intentara buscar los rangos
3. Una vez que el algoritmo encuentre coincidencias mostrara la posicin del elemento
encontrado.
4. En este caso nos da un rango del indice 27.
En este caso tambin se podra ocupar un listado de una lista de libros por autor, fecha o de
mayor a menor y que encuentre las coincidencias del libro que queremos encontrar. Y al menos
todava no me siento muy preparado para esto, y yo ocupara el mtodo de secuencial.




Bibliografa:
1. Facultad de Ingeniera (2014). Mtodos de Bsqueda. Recuperado de la pagina web en
(http://informatica.uppuebla.edu.mx/~abenitez/cursos/busqueda.pdf

2. UNADM (2014). Ingeniera en Desarrollo de Software. Estructura de datos. Unidad dos:
ordenacin y bsqueda. Recuperado de la pgina web en
http://207.249.20.68/Ds20141C/file.php/57/Unidad_2/DEDA_Unidad_2._Ordenacio_n_y_bu_sq
ueda.pdf

S-ar putea să vă placă și