Golang中怎么实现一个二分查找算法
发表于:2025-01-23 作者:千家信息网编辑
千家信息网最后更新 2025年01月23日,Golang中怎么实现一个二分查找算法,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。在一个有序的数组里面查找某个数据的i
千家信息网最后更新 2025年01月23日Golang中怎么实现一个二分查找算法
Golang中怎么实现一个二分查找算法,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。
在一个有序的数组里面查找某个数据的index,一般大家想到的就是一个for循环搞定,这个对于数据量比较少的数据可以进行,但是如果你的数据是上亿条数据量呢?这个时候算法时间复杂度为O(n);很消耗计算机资源。
二分查找就可以节约很多系统资源,时间复杂度为O(log n)。
package main
import (
"fmt"
)
func main() {
var (
list []int
)
for i := 1; i <= 100000000; i++ {
list = append(list, i)
}
fmt.Println(getIndex(list, 0, len(list)-1, 78979873))
}
func getIndex(list []int, left, right int, target int) (index int) {
if left > right { // 找不到存在的数据, 返回-1
return -1
}
mid := (left + right) / 2 // 每次的中间id
if target == list[mid] {
return mid
} else if target > list[mid] {
return getIndex(list, mid+1, right, target)
} else {
return getIndex(list, left, mid-1, target)
}
}
看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注行业资讯频道,感谢您对的支持。
数据
算法
复杂
复杂度
时间
资源
帮助
有序
清楚
内容
对此
就是
数组
文章
新手
时候
更多
知识
系统
行业
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
软件开发项目上线
剑网三怀旧服有哪些服务器
黔江区综合软件开发服务电话多少
什么叫数据库编码
军团要塞非安全服务器
中山流水线点胶软件开发
如何设置数据库同步到主界面
各种数据库访问技术
测塔服务器
辽宁调度服务器生产虚拟主机
什么是服务器通分
工行软件开发中心机构本部
商务数据库实训
c 窗体修改删除更新数据库
服务器管理口IPMI
网络安全工作责任制年度考核
校园网络安全宣传栏内容
倩女服务器一览表
长春易申软件开发有限公司
经济数据库购买
四川邱兴互联网科技有限公司
分析实际工程应用网络技术
我的世界服务器可用机器
搜索数据库工作
搭建团队知识库服务器
末路服务器
网络技术实训项目背景介绍
网络安全事例2020
铭诚网络安全有限公司
互联网时代最重要的十大科技