Está en la página 1de 3

Resumen del Tema: Algoritmos de Bsqueda

Grupo 1: Acevedo, Liebnitz


Henrquez, Diego
Vega, Fernando
Chanap, Arisneth

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
arreglo hasta encontrarlo, o hasta que se llegue al final.
CARACTERISTICAS VENTAJAS DESVENTAJAS
Este tipo de bsqueda
compara cada elemento del
vector con el valor a
encontrar hasta que este se
consiga o se termine de leer
el vector completo.
Es eficiente cuando un
arreglo no est ordenado es
la nica manera en la que
se puede emplear
Es muy lento.
Requiere mucho tiempo,
debido a que se comparan
uno a uno.
ESTRUCTURA ALGORITMICA
V es vector de elementos de dimensin N
K es elemento

para i <- 1 hasta N repite:

si V[i]=K entonces
salida < -"Encontrado"
fin
fin si
fin para
salida <- "No se ha encontrado el elemento"




Bsqueda Binaria
Es un algoritmo basado en la divisin y poda sistemtica del vector de entrada.
Consiste en encontrar la mitad del conjunto de datos y comparar si el elemento que se busca se
puede encontrar en la primera mitad o en la segunda. Una vez que se decida en cul de las dos
mitades se le puede encontrar, se prosigue a encontrar el elemento central de esa mitad y se repite
de nuevo el proceso. El algoritmo finaliza cuando encuentra lo que se est buscando o cuando ya no
se puede subdividir ms (por falta de elementos) en mitades.
CARACTERISTICAS VENTAJAS DESVENTAJAS
La Bsqueda Binaria impone
que el vector de bsqueda
este ordenado.

Si se van a repetir muchas
bsquedas sobre el mismo
conjunto de datos, si resulta
rentable emplear tiempo de
computacin en ordenar el
conjunto para usar este
mtodo.

La Bsqueda Binaria tiene
su forma algortmica ms
natural en su versin
recursiva.


Trata de hacer ms
eficiente la bsqueda, en el
sentido de ocupar menos
tiempo (ser ms rpido)
para encontrar un dato en
particular o descubrir que
no se encuentra dentro de
la lista.
Su rapidez en comparacin
con el secuencial, ya que
solo tiene que hacerse a lo
sumo, la mitad ms una de
las verificaciones para
constatar si se encuentra o
no el elemento en la lnea,
lo cual acorta el tiempo de
bsqueda.

Para su ejecucin, es
condicin indispensable que
la lista de datos se haya
ordenado previamente.

Su eficiencia puede ser
engaosa en el sentido de
que para su aplicacin es
necesario un pre-proceso
de los datos (la
ordenacin), que puede
consumir tiempo de
computacin.

ESTRUCTURA ALGORITMICA
//Declaracion del array y asignacion, etc.., etc.., etc..
//El array se llama EjemArray
int Buscar(int Num){
int Menor = 0;
int Mayor = 999999;
while(Menor <= Mayor){
int Medio = Menor+(Mayor-Menor+1)/2;
int NumPos = EjemArray[Medio];
if(NumPos == Num){ return Medio; }
if(NumPos < Num){
Menor = NumPos+1;
}else{
Mayor = NumPos-1; } }
return -1; }




Bsqueda Directa
Nos permite localizar de una manera ms rpida el elemento, ya que se utiliza una clave que
solo contiene el elemento a encontrar.
CARACTERISTICAS VENTAJAS DESVENTAJAS
Este es el mtodo ms
sencillo y consiste en ir
comparando el valor
buscado con los
sucesivos valores del
array, hasta que sean
iguales (es localizado) o
hasta que finalice el array
(no es localizado).
El procedimiento localiza
el ptimo estrechando en
forma progresiva el
intervalo de incertidumbre
hasta cualquier grado de
exactitud que se desee.


La idea de los mtodos
de bsqueda directa es
identificar el intervalo de
incertidumbre que
comprenda al punto de
solucin ptima.
No es necesario que los
datos del array estn
ordenados.


Los mtodos de
bsqueda directa se
aplican principalmente a
funciones estrictamente
unimodales de una
variable.
El algoritmo funciona
mejor cuando el arreglo
es pequeo y esta
ordenado.
ESTRUCTURA ALGORITMICA

#define N 5
void main(void)
{
int A[N] = {19, 5, 13, 4, 7};
int i, ValorBuscar;
scanf(%2d, &ValorBuscar); fflush(stdin);

for (i = 0; i < N && ValorBuscar != A[i]; i++)
{ ; } //El bucle for slo incrementa la i.

if (i < N)
printf(Encontrado en posicin %d, i);
else
printf(No encontrado);
}

También podría gustarte