搜索算法:线性搜索、二分法
搜索算法:
1.线性搜索:循环遍历,判断是否等于目标值
2.二分法:(需要有序)先定一个起点和终点left,right,当left<right时,取中间值mid,如果目标值小于mid,则right=mid-1,反之亦然
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | # 线性搜索 def action1(arr, target): for i in arr: if i = = target: print (arr.index(i)) # 二分法 def action2(arr, target): left, right = 0 , len (arr) - 1 while left < = right: mid = (left + right) / / 2 if arr[mid] = = target: print (mid) break elif arr[mid] < target: left = mid + 1 else : right = mid - 1 if __name__ = = '__main__' : arr = 'adsyui' target = 'y' # 线性搜索 action1(arr, target) arr = [ 1 , 3 , 4 , 7 , 9 ] target = 4 # 二分法 action2(arr, target) |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY