当前位置: 首页 > 后端技术 > Java

【数据结构与算法】——二分查找

时间:2023-04-01 17:52:50 Java

1.二分查找的概念二分查找是指在排序好的数组中寻找目标元素。如果元素存在,则返回该元素的下标,如果不存在,则返回-1。下面以升序为例简单说明。2、查找过程:取数组的中间元素,与查找元素目标进行比较。如果目标等于中间元素,则直接返回中间元素的下标。如果target小于数组中间元素,就在数组左边查找,如果target大于数组中间元素,就在右边查找。重复以上步骤。3.二分查找的时间复杂度O(logn)4.Java实现4.1代版本publicintsearchByLoop(int[]arr,inttarget){returnsearchByLoop(arr,0,arr.length-1,target);}privateintsearchByLoop(int[]arr,intlow,inthigh,inttarget){while(low<=high){intmid=(low+high)/2;if(target==arr[mid]){returnmid;}elseif(target高){返回-1;}if(target