算法——二分查找
2021/6/21 20:30:16
本文主要是介绍算法——二分查找,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
二分查找
对于一个有序的可迭代序列,查找一个元素时,每次都猜中间的那个数,这样一次可以排除掉一半的数据
Python版本
def main(ary, item): low = 0 high = len(ary) - 1 while low <= high: mid_index = (low+high) // 2 # 中间索引位 mid_value = ary[mid_index] # 中间值 if mid_value == item: return mid_index elif mid_value < item: low = mid_index + 1 else: # mid_value > item: high = mid_index - 1 return None ary = [1, 3, 4, 56, 78, 99] print(main(ary, 3)) # 1
Java版本
public class More { public static void main(String[] args) { Integer[] ary = new Integer[] {1, 3, 4, 56, 78, 99}; int item = 3; int low = 0; int high = ary.length - 1; while (low <= high) { int midIndex = (low + high) / 2; int midValue = ary[midIndex]; if (midValue == item) { System.out.println(midIndex); break; } else if (midValue < item) { low = midIndex + 1; } else { high = midIndex - 1; } } } }
这篇关于算法——二分查找的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-23Springboot应用的多环境打包入门
- 2024-11-23Springboot应用的生产发布入门教程
- 2024-11-23Python编程入门指南
- 2024-11-23Java创业入门:从零开始的编程之旅
- 2024-11-23Java创业入门:新手必读的Java编程与创业指南
- 2024-11-23Java对接阿里云智能语音服务入门详解
- 2024-11-23Java对接阿里云智能语音服务入门教程
- 2024-11-23JAVA对接阿里云智能语音服务入门教程
- 2024-11-23Java副业入门:初学者的简单教程
- 2024-11-23JAVA副业入门:初学者的实战指南