Goに慣れるためとアルゴリズムの復習の為に週1ぐらいで更新していきます。アルゴリズムクイックリファレンス 第2版を読んで各種アルゴリズムをGoで実装して行きます。
前回: Goでのアルゴリズムクイックリファレンス第2版(マージソート)
今回は逐次探索
集まりCのなかの目標値tを力任せで見つける。最良でO(1)で平均・最悪O(n)となる。
package main
import "fmt"
func search(a *[]int, t int) bool {
for _, v := range *a {
if v == t {
return true
}
}
return false
}
func main() {
a := []int{1, 2, 3, 4, 5, 6, 7}
if search(&a, 7) {
fmt.Println("ok")
}
if search(&a, 8) {
fmt.Println("no")
}
}
次回は二分探索の予定です。