fullstack-tutorial icon indicating copy to clipboard operation
fullstack-tutorial copied to clipboard

关于数据结构-二叉树-二分查找代码的问题

Open bnjsj opened this issue 6 years ago • 0 comments

针对文中代码修改如下,见注释处
private static int search(int[] data,int l,int r,int target){ int mid; //注意:此处循环条件为<=,若无=则无法查找数组起始处数据 while(l<=r){ mid=(l+r)/2; if(data[mid]==target){ return mid; }else if(data[mid]<target){ l=mid+1; }else{ r=mid; } } return -1; } private static int searchDfs(int[] data,int l,int r,int target){ //注意:此处循环条件为>,若有=则无法查找数组起始处数据 if(l>r){ return -1; } int mid=(l+r)/2; if(target==data[mid]){ return mid; }else if(target>data[mid]){ return searchDfs(data,mid+1,r,target); }else{ return searchDfs(data,l,mid,target); } }

bnjsj avatar Sep 06 '19 07:09 bnjsj