概述
二分法查找---原理
如何从数组里找一个元素的位置?如果排列是无序的,我们只能从头到尾找,但如果排列是有序的,我们则可以用别的更好的方法,二分查找法就类似我们在英汉词典里找一个单词的方法。如下图所示(假如我们要查找的数字是“88”):
二分法查找---代码演示
package main
import "fmt"
func binary_search(arr [10]int, a int) (index int) {
low := 0
high := len(arr) - 1
for {
//中间值
mid := (high + low) / 2 //注意是 +
if arr[mid] > a {
high = mid - 1
} else if arr[mid] < a {
low = mid + 1
} else {
index = mid
return
}
//如果还没有找到 返回-1
if high <= low {
index = -1
return
}
}
}
func main() {
arr := [10]int{1, 2, 3, 4, 5, 6, 7, 8, 9, 10}
m := binary_search(arr, 19)
fmt.Println(m)
}
➢了解更多Go语言知识:https://study.163.com/course/introduction/1210620804.htm
最后
以上就是呆萌朋友为你收集整理的Go语言 算法图解——二分查找的全部内容,希望文章能够帮你解决Go语言 算法图解——二分查找所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复