¿Cómo realizar una búsqueda secuencial en Go?
Una búsqueda secuencial es aquella en donde se recorren cada uno de los elementos de un arreglo en búsqueda de un valor, esta búsqueda tiene la característica de que se realizar en el orden en que estos se encuentran almacenados los valores.
package main
func BusquedaSecuencial(numeros []int, valor int) int {
// recorrer el arreglo numeros hasta encontrar el valor
for k, v := range numeros {
// verificar si el valor iterado coincide con el que se busca
if v == valor {
// retornar el indice
return k
}
}
// retornar -1 si ningun valor coincide
return -1
}
Ahora podemos utilizar la función de búsqueda secuencial.
func main(){
numeros := []int{5, 10, 15, 20, 25}
fmt.Println(BusquedaSecuencial(numeros, 5))
fmt.Println(BusquedaSecuencial(numeros, 10))
fmt.Println(BusquedaSecuencial(numeros, 15))
fmt.Println(BusquedaSecuencial(numeros, 20))
fmt.Println(BusquedaSecuencial(numeros, 25))
}
Salida.
0
1
2
3
4
La búsqueda secuencial es la forma mas sencilla de realizar una búsqueda y al mismo tiempo es la que mas operaciones requiere en el peor escenario, que para este caso es cuando buscamos la posición del numero 25.