数据结构算法-go 实现二分法

二分法通过对折的方式查找一个数据,条件是必须是一个有序的数组。数组底层是顺序链表,可以随机获取一个值O(1).

func main() {
    s := []int{1,2}
    res := BinarySearch(1,s)
    fmt.Println(res)
}

func BinarySearch(target int, s []int) int{
    if len(data) < 0 {
   return -1
}
right := len(data)-1
left := 0
for left <= right {
   mid := (left+right)/2
  if data[mid] == target {
      return mid
   }
   if data[mid] > target{
      right = mid-1
  }
   if data[mid] < target {
      left = mid+1
  }
}
return -1
}

本作品采用《CC 协议》,转载必须注明作者和本文链接
用过哪些工具?为啥用这个工具(速度快,支持高并发...)?底层如何实现的?
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!