metodos de busqueda
Click here to load reader
-
Upload
angie-romero -
Category
Career
-
view
183 -
download
0
description
Transcript of metodos de busqueda
¿QUE ES UN METODO
DE BUSQUEDA ?
Los métodos de búsqueda nos permiten recuperar información de un vector o un archivo,
que contenga una lista de datos. Por ejemplo se puede obtener el nombre y el número
telefónico de nuestra agenda de contactos o la nota obtenida por un alumno en la lista de
un curso.
Cuando se realizan búsquedas sobre vectores, se desea es encontrar la posición que
ocupa el elemento buscado dentro de la lista de elementos que contiene el vector. Para la
búsqueda de información en archivos es necesario realizar la búsqueda a partir de un
campo clave dentro del archivo.
En este método se recorre el vector desde el primer
elemento hasta el ultimo,
comparando cada elemento del vector con el valor
buscado, hasta que se encuentre el
elemento o se llegue al final del vector. Este método
es recomendado para realizar
búsquedas con pocos datos
i:integer; //variable para controlar el ciclo while.
pos:integer; //variable que devuelve la posición en la que se encuentra el
elemento en el vector.
begin
//Asigno el valor de -1 a la variable pos para devolver este valor en el
supuesto caso de que no se encuentre
//el valor buscado dentro del vector.
pos:=-1;
i:=1;
//Mientras que no se llegue al final del vector y no se haya encontrado el
dato buscado en el vector.
while (i <= num) and (pos = -1) do
begin
Este método es una técnica eficaz para realizar búsquedas en vectores o archivos que
contengan un mayor número de datos. Este método divide el vector en mitades de
manera sucesiva hasta que encuentra el dato buscado, es decir, el método divide el
vector y se examina el elemento central del vector.
Si es el elemento que se busca, entonces la búsqueda finaliza, pero sino se determina si
el dato buscado esta en la primera o la segunda mitad del vector y se repite el proceso en
la nueva mitad, buscando su elemento central. Para realizar la búsqueda binaria el vector
debe estar ordenado y se comienza comparando con el elemento central.
Implementación de la clase
lógica TBusquedas en la
unidad UMetodosBusqueda:
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils;
const
num=20;
type
{ TBusquedas }
TBusquedas=class
private
vector:array[1..num] of string;
public
Método de Búsqueda
Secuencial:
Método de Búsqueda
Binaria:
Métodos de Búsqueda.
1. La capitalización está fuera
de lugar. Por ejemplo, NASA es
equivalente a nasa.
2. Para buscar una frase,
encierre las palabras en doble
comillas por ejemplo,
“Biblioteca del Congreso”.
3. Para buscar un número
exacto, la ubicación del número
en comillas por ejemplo,
“114,457”. Esto obliga al equipo
de búsqueda a encontrar una
compatibilidad exacta a la del
número.
4. Para una cadena de palabras ( por ejemplo, Universidad de
Wisconsin), se asumen que estas palabras están unidas por la
conjunción AND (y). Por lo tanto, compatibilizará los registros
con todas las palabras que ocurran en los campos buscados, tanto
en forma unida como individual.
5. Las palabras o frases pueden ser pre-mostradas con un
guion (-) o un signo de más (+). Un guion ( por ejemplo –
magnesio o – “ papas fritas” ) indica que Ud. desea todos los
documentos que le hablen del primer término pero que no
contengan papas fritas es decir no desea que ningún resultado
que contenga el ultimo termino. Por otra parte, las palabras o
frases pueden ser pre-mostradas con un signo de más (+) (por
ejemplo, +magnesio o + “papas fritas”) para indicar que Ud.
requiere resultados que contengan ambos términos.
6. Los resultados serán mostrados en orden
de importancia de mayor a menor (los items
más relevantes aparecen en la parte superior
de los resultados). La relevancia se
determina a través de una combinación de
frecuencia en la ocurrencia de la palabra y
un valor ponderado de los campos de meta-
datos que están siendo buscados. La
ocurrencia de la palabra en el Título es
ponderada como la de más peso. Un Título
alterno, Creador, Editor, Clasificación y
Contribuyente se encuentran en la hilera
inferior próxima de los valores de peso.