漫画:“浅谈”二分查找
- 2019 年 10 月 4 日
- 筆記

你干嘛呢
研究二分查找
我去,你学习了,给我说说怎么回事
也叫折半排序,这个方法查询比较高效,时间复杂度为O(log2n),不过他有一个要求,要是有序的顺序的存储结构表。
哇,大佬举个?
好,就是目标查找数每次都和数组的中间数做比较,中间数(mid)就是low(最低)+high(最高)的平均值的这个位置。如果目标数>mid,就把low往后移动,如果小则把high往前移动循环直到找到这个数为止,没有就返回-1好了,正好我画了图给你看看。
注:图片点击放大
可以哦,代码内
你怎么知道我刚写完
public static int binarySearch (int target,int[] ary) { int low = 0; int high = ary.length - 1; while (low <= high) { int middle = (low + high) >> 1; if (ary[middle] > target) { high = middle - 1; } else if (ary[middle] < target) { low = middle + 1; } else { return middle; } } return -1; }
太赞了,向你学习,谢谢
不谢哈,回头我还请教你呢
好的,早点休息
嗯嗯拜拜