deda_u2_a1_roch
TRANSCRIPT
-
5/24/2018 DEDA_U2_A1_ROCH
1/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: [email protected]
OPCIONAL:[email protected]
http://207.249.20.68/Ds20141C/user/view.php?id=39388&course=57http://207.249.20.68/Ds20141C/user/view.php?id=39388&course=57http://207.249.20.68/Ds20141C/user/view.php?id=39388&course=57http://207.249.20.68/Ds20141C/user/view.php?id=39388&course=57 -
5/24/2018 DEDA_U2_A1_ROCH
2/15
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 casouna 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 enjava:
Se considera un arreglo representado de la siguiente manera:
1. Tenemos un arreglo de tamao 502. Luego el programa buscara el numero 41 por lo cual intentara buscar los rangos3. Una vez que el algoritmo encuentre coincidencias mostrara la posicin del elemento
encontrado.
4. En este caso nos da un rango del indice 27.
-
5/24/2018 DEDA_U2_A1_ROCH
3/15
Pantallas en NetBeans:
Pantalla uno:
Pantalla dos:
-
5/24/2018 DEDA_U2_A1_ROCH
4/15
Pantalla tres:
Pantalla cuatro:
-
5/24/2018 DEDA_U2_A1_ROCH
5/15
Pantalla final y resultados:
3. En este caso tambin la bsqueda secuencial indexadaes un mtodo popular donde el archivosecuencial 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
-
5/24/2018 DEDA_U2_A1_ROCH
6/15
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
-
5/24/2018 DEDA_U2_A1_ROCH
7/15
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 elsegmento 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 enjava:
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 356. Luego el programa buscara la cadena de edades de 28 a 357. Una vez que el algoritmo encuentre coincidencias mostrara el rango encontrado.8. En este caso nos da un rango encontrado 3.
Pantalla uno:
-
5/24/2018 DEDA_U2_A1_ROCH
8/15
Pantalla dos:
Pantalla final:
-
5/24/2018 DEDA_U2_A1_ROCH
9/15
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)*(derizq)/(a[der].key-a[izq].key) /0
A continuacin le dejo un ejemplo sencillo que me llamo la atencin del mtodo debsqueda por interpolacin en java:
Se considera un algoritmo de interpolacin hermite
1. Se digita la aproximacin2. Los valores de imagen y de X3. Se aplica la formula y el numero de cocientes4. Se aplican las variables que nos darn el resultado de H
Pantalla uno:
-
5/24/2018 DEDA_U2_A1_ROCH
10/15
Pantalla dos:
Pantalla tres:
-
5/24/2018 DEDA_U2_A1_ROCH
11/15
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.
-
5/24/2018 DEDA_U2_A1_ROCH
12/15
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 laaritmtica 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.
-
5/24/2018 DEDA_U2_A1_ROCH
13/15
7. Menciona de forma clara y puntual las ventajas y desventajas de utilizar cada uno de losmtodos de bsqueda vistos a lo largo de la Unidad 2.
Mtodo de bsqueda secuencial:
Ventajas:
1. Es un algoritmo sencillo de bsqueda2. No requiere ningn proceso previo de tabla3. Conocimiento sobre las llaves4. La bsqueda del problema es directo5. 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 lento2. Los datos no estn ordenados3. Sin no se tiene una llave particular, se requiere buscar en toda la lista4. Para las aplicaciones interactivas su rendimiento es pobre5. 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 archivos3. 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 correctamente2. No revisa todos los elementos del archivo3. Esta bsqueda de archivos es enorme y pude ser muy costoso
-
5/24/2018 DEDA_U2_A1_ROCH
14/15
Mtodo de bsqueda interpolacin:
Ventajas:
1. La bsqueda es mucho mejor que la binaria en la prctica, principalmente por el tamao dellogaritmo.
2. Incluso suele ser el ms complejo pero puede proporcionar una importante bsqueda deresultados 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 labsqueda 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 502. Luego el programa buscara el numero 41 por lo cual intentara buscar los rangos3. 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.
-
5/24/2018 DEDA_U2_A1_ROCH
15/15
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
http://informatica.uppuebla.edu.mx/~abenitez/cursos/busqueda.pdfhttp://informatica.uppuebla.edu.mx/~abenitez/cursos/busqueda.pdfhttp://informatica.uppuebla.edu.mx/~abenitez/cursos/busqueda.pdfhttp://207.249.20.68/Ds20141C/file.php/57/Unidad_2/DEDA_Unidad_2._Ordenacio_n_y_bu_squeda.pdfhttp://207.249.20.68/Ds20141C/file.php/57/Unidad_2/DEDA_Unidad_2._Ordenacio_n_y_bu_squeda.pdfhttp://207.249.20.68/Ds20141C/file.php/57/Unidad_2/DEDA_Unidad_2._Ordenacio_n_y_bu_squeda.pdfhttp://207.249.20.68/Ds20141C/file.php/57/Unidad_2/DEDA_Unidad_2._Ordenacio_n_y_bu_squeda.pdfhttp://207.249.20.68/Ds20141C/file.php/57/Unidad_2/DEDA_Unidad_2._Ordenacio_n_y_bu_squeda.pdfhttp://informatica.uppuebla.edu.mx/~abenitez/cursos/busqueda.pdf