/**
* 二分查詢普通實現。
** @param srcarray 有序陣列
* @param key 查詢元素
* @return 不存在返回-1
*/public static int binsearch(int srcarray, int key) else if (key > srcarray[mid]) else
}return -1;
}/**
* 二分查詢遞迴實現。
** @param srcarray 有序陣列
* @param start 陣列低位址下標
* @param end 陣列高位址下標
* @param key 查詢元素
* @return 查詢元素不存在返回-1
*/public static int binsearch(int srcarray, int start, int end, int key)
if (start >= end) else if (key > srcarray[mid]) else if (key < srcarray[mid])
return -1;
}
二分查詢的遞迴和非遞迴實現,二分查詢的擴充套件
凡是有序陣列中的查詢問題,都應該聯絡二分查詢解決 遞迴二分查詢 int binarysearch int nums,int left,int right,int key int mid left right left 1 if nums mid key else if nums mid key el...
二分查詢和遞迴的二分查詢
在乙個有序的陣列中查詢給定的資料項,把陣列衝中間分成兩半,然後看要查詢的資料項在陣列的哪一半,再次折半查詢。如下 public int find long searchkey else if lowerbound upperbound else private int recfind long se...
二分查詢實現(遞迴和非遞迴)
遞迴的二分查詢,查詢單個值 時間複雜度 log2n 有點像二叉排序樹的查詢 param arr 待查詢陣列,有序 param low param high param findval 待找值 return 待找值的下標,沒有返回 1 public static intbinarysearch int...