sábado, 4 de enero de 2014

Búsqueda Secuencial

La búsqueda secuencial es una de las Estructuras de datos mas simples que hay, que consiste en buscar el elemento buscado secuencialmente, como su nombre lo dice, es decir que lo busca uno por uno hasta que lo encuentra

Ejemplo:

public  int busquedaSecuencial(int []arreglo,int dato){
               int posicion = -1;
               for(int i = 0; i < arreglo.length; i++){//recorremos todo el arreglo
                   if(arreglo[i] == dato){//comparamos el elemento en el arreglo con el buscado
                    posicion = i;//Si es verdadero guardamos la posicion
                   break;//Para el ciclo
                   }
           }
           return posicion;


       }


Anteriormente tenemos un método que nos recibe dos parámetros, uno es un vector en el que se realizara la búsqueda y el otro es el dato que se va a buscar

A continuación declara una variable posición que tiene como valor inicial -1. TENER EN CUENTA QUE SI EL MÉTODO DEVUELVE -1 QUIERE DECIR QUE EL ELEMENTO BUSCADO NO EXISTE EN EL VECTOR

Luego en un ciclo compara dato por dato hasta encontrar uno que sea igual al dato que se busca, toma la posición del dato encontrado y lo guarda en la variable “posición” que luego es retornado

Llamado o utilización:
  String datoS = JOptionPane.showInputDialog("Digite el dato que desa buscar");
    int dato = Integer.parseInt(datoS);
    int p = Metodos.busquedaSecuencial(Metodos.vectorA, dato);
  
    if (p==-1){
        JOptionPane.showMessageDialog(null,"El dato: " + dato + ", no se encuentra en el vector");
    }else {
        JOptionPane.showMessageDialog(null,"El dato: " + dato + ", se encuentra en la posicion " + p );

    }
Pero uno de los defectos que tiene este método es que en un grupo de objetos muy grande, el procedimiento se hace extremadamente lento, por lo cual no es recomendable en vectores o matrices o lo que sea, demasiado extensos 

1 comentario:

Error al montar disco duro en Linux

¿Te ha ocurrido frecuentemente este error al intentar montar un disco duro en tu sistema Linux? A mi me sucede mucho y note qu...