Está en la página 1de 10

I NSTITUTO T ECNOLGICO S UPERIOR D E

A CAYUCAN
CARRERA
I N G E N I E R A E N I N F O R M T I C A
L.I. C R I S T B A L

C AT E D R T I C O
T E N O R I O J U R E Z

ESTRUCTURA

M AT E R I A
D E D AT O S
EQUIPO

LOS CHINCONGUOS

ROBERTO PARRA
JIMNEZ
PEDRO PASCUAL SNCHEZ
ERIK FERNNDEZ MONKLES
EDWIN RAFAEL MORALES MARTNEZ
ADAM DE JESS SANGERO SILVA

SEMESTRE
307-D
U N I D A D 6:

MTODOS

INVESTIGACIN
DE BSQUEDA

6.1:

BSQUEDA

SECUENCIAL
6.2: B S Q U E D A B I N A R I A

INTRODUCCIN
La bsqueda es
la
operacin
ms
importante
en
el
procesamiento de informacin, ya que permite recuperar
datos previamente almacenados. El resultado de una bsqueda
puede ser un xito, si se encuentra la informacin o un
fracaso, si no la encuentra.
La bsqueda se puede aplicar sobre elementos previamente
ordenados o sobre elementos desordenados, en el primer caso
la bsqueda es ms fcil, en cambio en el segundo se
dificulta un poco ms el proceso, sobre todo cuando de se
trata de encontrar una cantidad de elementos similares.
Un algoritmo de bsqueda es aquel que est diseado para
localizar un elemento con ciertas propiedades dentro de
una estructura de datos; por ejemplo, ubicar el registro
correspondiente a cierta persona en una base de datos, o el
mejor movimiento en una partida de ajedrez.

Pgina 2 de 10

BSQUEDA SECUENCIAL
Se utiliza cuando el vector no est ordenado o no puede ser
ordenado previamente. Consiste en buscar el elemento
comparndolo secuencialmente (de ah su nombre) con cada
elemento del vector hasta encontrarlo, o hasta que se
llegue al final. La existencia se puede asegurar cuando el
elemento es localizado, pero no podemos asegurar la no
existencia hasta no haber analizado todos los elementos del
vector. A continuacin se muestra el pseudocdigo del
algoritmo:

Datos de entrada:
vec: vector en el que se desea buscar el dato
tam: tamao del vector. Los subndices vlidos van desde
0 hasta tam-1 inclusive. Puede representarse as:
vec[0...tam) o vec[0...tam-1].
dato: elemento que se quiere buscar.
Variables
pos: posicin actual en el vector
pos = 0
while pos < tam:
if vec[pos] == dato:
Retorne verdadero y/o pos,
else:
pos = pos + 1
Fin (while)
Retorne falso,
Pgina 3 de 10

La bsqueda 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 esa llave.
Normalmente un archivo secuencial se almacena en bloques,
en un orden secuencial simple de los registros. La
organizacin fsica del archivo en una cinta o disco se
corresponde exactamente con la ubicacin lgica del
archivo. En este caso, el procedimiento para ubicar los
nuevos registros en un archivo de pila separado, llamado
archivo de registro (log file) o archivo de transacciones.
Peridicamente, se realiza una actualizacin por lotes que
mezcla el archivo de registro con el archivo maestro para
producir un nuevo archivo en secuencia correcta de claves.
Bsqueda secuencial, tambin se le 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
travs de cada registro hasta encontrar la llave indicada
(k), o hasta al final de la lista.

Pgina 4 de 10

BSQUEDA
BINARIA
Se utiliza cuando el vector en
el que queremos determinar la
existencia de un elemento est
previamente ordenado. Este algoritmo reduce el
tiempo de bsqueda considerablemente, ya que
disminuye exponencialmente el
nmero
de
iteraciones necesarias.
Est altamente recomendado para buscar en arrays de gran
tamao.
Por
ejemplo,
en
uno
conteniendo
50.000.000
elementos, realiza como mximo 26 comparaciones (en el peor
de los casos).
Para implementar este algoritmo se compara el elemento a
buscar con un elemento cualquiera del array (normalmente el
elemento central): si el valor de ste es mayor que el del
elemento buscado se repite el procedimiento en la parte del
array que va desde el inicio de ste hasta el elemento
tomado, en caso contrario se toma la parte del array que va
desde el elemento tomado hasta el final. De esta manera
obtenemos intervalos cada vez ms pequeos, hasta que se
obtenga un intervalo indivisible. Si el elemento no se
Pgina 5 de 10

encuentra dentro de este ltimo entonces se deduce que el


elemento buscado no se encuentra en todo el array.
A continuacin se presenta el pseudocdigo del algoritmo,
tomando como elemento inicial el elemento central del
array.
Datos de entrada:
vec: vector en el que se desea buscar el dato
tam: tamao del vector. Los subndices vlidos van desde
0 hasta tam-1 inclusive.
dato: elemento que se quiere buscar.
Variables
centro: subndice central del intervalo
inf: lmite inferior del intervalo
sup: lmite superior del intervalo
inf = 0
sup = tam-1
Mientras inf <= sup:
centro = ((sup - inf) / 2) + inf // Divisin entera: se
trunca la fraccin
Si vec[centro] == dato devolver verdadero y/o pos, de lo
contrario:
Si dato < vec[centro] entonces:
sup = centro - 1
En caso contrario:
inf = centro + 1
Fin (Mientras)
Devolver Falso
Si los datos que se buscan estn clasificados en
determinado orden, el mtodo citado anteriormente
denomina bsqueda binaria.

un
se

Pgina 6 de 10

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 ste es el
elemento buscado, entonces la bsqueda ha terminado.
En caso contrario, se determinar si el elemento buscado
ser en la primera o la segunda mitad de la lista y a
continuacin se repite este proceso, utilizando el elemento
central de esa sub lista.
Se puede aplicar tanto a datos en listas lineales como en
rboles
binarios
de
bsqueda.
Los
prerrequisitos
principales para la bsqueda binaria son:
La lista debe estar ordenada en un orden especfico de
acuerdo al valor de la llave.
Debe conocerse el nmero de registros.
Algoritmo:
Se compara la llave buscada con la llave localizada al
centro del arreglo.
Si la llave analizada corresponde a la buscada fin de
bsqueda si no.
Si la llave buscada es menor que la analizada repetir
proceso en mitad superior, sino en la mitad inferior.

Pgina 7 de 10

El
proceso
de
partir
por
la
mitad el arreglo
se repite hasta
encontrar
el
registro o hasta
que el tamao de
la
lista
restante
sea
cero,
lo
cual
implica que el
valor
de
la
llave buscada no
est
en
la
lista.

CONCLUSIN
SECUENCIAL.
El mtodo de bsqueda secuencial externa consiste en
revisar el archivo elemento por elemento hasta encontrar el
dato que se est buscando, o hasta llegar al final del
archivo. Este mtodo de bsqueda se puede aplicar a
archivos ordenadas o desordenadas.
Si la bsqueda se aplica a un archivo desordenado y el
elemento que se est buscando existe ms de una vez, el
Pgina 8 de 10

proceso de bsqueda debe continuar hasta


fin del archivo.

que se llegue al

Ejercicios. Crear un programa que genera N nmeros


aleatorios, los guarde en un archivo y posteriormente
aplique la bsqueda secuencial.
Si la bsqueda se aplica a un archivo ordenado y el
elemento que se est buscando existe ms de una vez, el
proceso de bsqueda termina cuando el elemento del archivo
que se est comparando es mayor que el que se est
buscando.
Ejercicios. Crear un programa que genera N nmeros
aleatorios, los guarde en un archivo, los ordene de forma
ascendente y posteriormente aplique la bsqueda secuencial.

BINARIA.
El mtodo de bsqueda binaria externa utiliza el mismo
principio que la bsqueda binaria interna. Divide el total
de elementos del archivo en dos, comparando el elemento
buscado con el central, en caso de no ser iguales se
determina si el elemento buscado es menor o mayor al
central, para determinar si la bsqueda continua del lado
izquierdo (menor) o derecho (mayor) del central, repitiendo
el mismo proceso de divisin y comparacin, hasta encontrar
el elemento buscado o que la divisin ya no sea posible.
Pgina 9 de 10

El archivo debe estar ordenado y se debe conocer el


nmero de elementos del mismo para aplicar este mtodo.

BIBLIOGRAFA
HTTPS://SITES.GOOGLE.COM/SITE/ESTDATJIQ /HOME/UNIDAD-VI
HTTP://MACABREMOON0.TRIPOD.COM/ID2.HTML
HTTPS://ES.WIKIPEDIA.ORG/WIKI/ALGORITMO _DE_B%C3%BASQUEDA

Pgina 10 de 10

También podría gustarte