首页 > 代码库 > 实现二分查找
实现二分查找
二分查找是在已排序好的数组中查找数组中指定元素的一种算法,具有查找效率较高的特点,时间复杂度为O()=O(logn)。
今天试着实现了二分查找算法:
java例子:
public int binarySearch(int[] ary, int val, int st, int end){ if (ary==null || ary.length==0) { return -1; } int mid = (int)(end+st)/2; if (ary[mid]>val) { end = mid-1; } else if (ary[mid]<val) { st = mid+1; } else { return mid; } if (st>end) { return -1; } return binarySearch(ary,val,st,end);}
php例子:
function binarySearch($array, $val, $st=0, $end=0){ if (!(is_array($array) && count($array)>0)) { return false; } if ($end==0) { $end = count($array) - 1; } $mid = intval(($st+$end)/2); if ($array[$mid]>$val) { $end = $mid - 1; } elseif ($array[$mid]<$val) { $st = $mid + 1; } else { return $mid; } if ($st>$end) { return -1; } return binarySearch($array, $val, $st, $end);}
实现二分查找
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。