Algoritmo de búsqueda

Un algoritmo de búsqueda es aquel que está diseñado 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.

La variante más simple del problema es la búsqueda de un número en un vector.

Búsqueda secuencial

Se utiliza cuando el vector no está ordenado o no puede ser ordenado previamente. Consiste en buscar el elemento comparándolo 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 continuación se muestra el pseudocódigo del algoritmo:[ cita requerida]

Datos de entrada:
  vec: vector en el que se desea buscar el dato 
  tam: tamaño del vector. Los subíndices válidos 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: posición 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,
int busquedaSimple(int  vector[n], int n, int dato) {

    int i;

    for(i=0; i<n; i++){
        if(dato==vector[i]) {
            return i;
            break;
        }
    }

    return -1;

}
Other Languages