Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Turno: Matutino
Estructura de datos
Unidad 6
Métodos de Búsqueda
PRACTICAS
1. Métodos de Búsqueda
GRUPO 3 A
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include<conio.h>
#include<iostream>
struct no
{
int data; //Valor del elemento.
int state; //Estados del
elemento: 0 para VACIO, 1 para
REMOVIDO e 2 para OCUPADO.
};
int i, n, r;
bool b=false, v=true;
int main(){
int o, c=0;
cout<<"\nBienvenid@ a este
programa donde podras usar los
diatintos metodos de busqueda\n\n";
cout<<"Para usar los distintos
metodos necesitamos tener datos,
este programa funciona con
numeros\n";
cout<<"Cuantos datos desea
ingresar?\n";
cout<<"Cantidad: ";
cin>>n;
int array[n];
for(i=0;i<n;i++){
cout<<"\nIngrese el dato
["<<i<<"]: ";
cin>>array[i];
}
do{
if(c==0){
system("cls");
}
if(c==1){
system("cls");
cout<<"\nSiga
correctamente las instrucciones\n";
}
if(c==1){
b=false;
}
cout<<"\nElija el metodo
de su preferencia para realizar la
busqueda de algun numero de los que
hay\n";
cout<<"Datos Ingresados:
";
for(i=0;i<n;i++){
cout<<array[i]<<" ";
}
cout<<"\n\nMetodos\n";
cout<<"1. Secuencial\n";
cout<<"2. Binaario\n";
cout<<"3. Hash\n";
cout<<"4. Salir\n";
cout<<"Opcion: ";
cin>>o;
if(o!=1 and o!=2 and o!=3
and o!=4){
c=1;
}else{
switch(o){
case 1:
secuencial(array, n);
cout<<"\nRegresar al menu 1-
(Si) 2-(No):";
cin>>c;
break;
case 2:
binario(array, n);
cout<<"\nRegresar al menu 1-
(Si) 2-(No): ";
cin>>c;
break;
case 3:
cout<<"\nhas elejido el metodo
hash :) \n";
hash(array,
n);
cout<<"\nRegresar al menu 1-
(Si) 2-(No): ";
cin>>c;
break;
case 4:
return 0;
default:
return 0;
}
}
}while(c==1);
return(0);
inf=0;
sup=n;
while(inf<sup){
mitad=(inf+sup)/2;
if(B[mitad]==r){
b=true;
break;
}
if(B[mitad]>r){
sup=mitad;
mitad=(sup+inf)/2;
}
if(B[mitad]<r){
inf=mitad;
mitad=(sup+inf)/2;
}
}
if(b=true){
cout<<"el dato a sido
encontrado en la posicion "<<mitad;
}else{
cout<<"Lo sentimos el dato
no fue encontrado";
}
}
// Calcula la función de
distribución
int funcion(int k, int m, int i)
{
return ((k + i) % m);
}
for (i=0;i<n;i++)
{
cout << "Posicion
["<<i<<"]: "<<T[i].data << endl;
}
cout << endl;
}
Conclusión unidad 6
Es que se conoció cada uno de los tipos de métodos de búsqueda ya que al momento de
hacer un programa extenso podrimos utilizar algunos de estos métodos y asi encontrar la
información más rápida y perder tanto tiempo.