美文网首页
二分查找 Go 语言实现

二分查找 Go 语言实现

作者: 萧何爱英语 | 来源:发表于2018-07-29 22:47 被阅读0次

    二分查找也称折半查找,要求线性表必须采用顺序存储结构,而且表中元素按关键字有序排列。
    时间复杂度: O(logn)

    func binarySearch(arr []int, k int) int {
        l := 0
        r := len(arr) - 1
    
        for l <= r {
            mid := (l + r) / 2
            if k == arr[mid] {
                return mid
            }
            if k < arr[mid] {
                r = mid - 1
            } else {
                l = mid + 1
            }
        }
        return -1
    }
    

    相关文章

      网友评论

          本文标题:二分查找 Go 语言实现

          本文链接:https://www.haomeiwen.com/subject/nmntvftx.html