Arreglos, Búsqueda Secuencial (Sequential Search)

¿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.