美文网首页
二分查找 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
}

相关文章

  • 算法之二分查找

    二分查找 二分查找是著名、高效并有应用广泛的查找算法。 二分常规实现 1.循环实现 下面我用python语言实现循...

  • 二分查找 Go 语言实现

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

  • Go语言实现二分查找

    二分算法的前提要求传入的序列是有序的(降序或升序),并且有一个目标值。二分算法主要是首和尾的范围控制。 具体代码实...

  • 简单算法

    冒泡排序: while 实现的二分查找: 递归实现二分查找:

  • 分治算法(swift二分法排序递归实现)

    二分查找 1、二分查找(Binary Search) 2、二分查找的基本思想 swift算法实现

  • 二分查找

    网上找到的图片便于理解 二分查找递归实现与循环实现代码: /** 二分查找 1.二分查找又称折半查找,它是一种效率...

  • 二分查找

    数据顺序存储,有序序列 O(logn) 递归实现二分查找: 非递归实现二分查找:

  • 算法 二分查找 (C++)

    二分查找的实现:

  • 数据结构与算法之美笔记——二分查找(下)

    摘要: 基础的二分查找算法无论是概念还是实现都比较简单(关于 二分查找基础实现文章 可点击此处查看),但二分查找存...

  • 算法4 读书笔记

    1.二分查找的迭代实现 #pragma warning(disable:4996) #include /*二分查找...

网友评论

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

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