java實現折半查詢。
折半查詢也稱二分法查詢..
以下java實現的簡單的例子.具體程式碼如下:
package pack.java.splitdemo;
public class SplitDemo {
/**
* author:ZhouHaiTao;
* @param arrayData 資料;
* @param searchData 查詢的資料;
* @param start 開始索引;
* @param end 結束索引;
* @return 索引下標;沒有查詢到值,這返回-1;
*/
private int splitMethod(int[] arrayData,int searchData,int start,int end){
int index = (start + end) / 2;
int data = arrayData[index];
if(start >end){
return -1;
}
if(data == searchData){
return index;
}else {
//如果查詢出的資料,小於查詢出的資料,
if(data < searchData){
//利用遞迴,再次查詢;index向上移動1位。
return splitMethod(arrayData, searchData, index+1, end);
}else{
return splitMethod(arrayData, searchData, start, end-1);
}
}
}
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
SplitDemo splitDemo = new SplitDemo();
int[] arrayData = new int[]{1,3,20,23,29,45,54,64,99};
int index = splitDemo.splitMethod(arrayData,54, 0,arrayData.length-1);
System.out.println("is exists:"+index);
}
}
相關文章
- 折半查詢(C++實現)C++
- 正確的折半查詢實現
- 【演算法資料結構Java實現】折半查詢演算法資料結構Java
- 查詢之折半查詢
- BST查詢結構與折半查詢方法的實現與實驗比較
- 查詢與排序02,折半查詢排序
- C語言折半查詢C語言
- 轉:C++實現的變種二分查詢法(折半查詢)--二叉查詢樹C++
- 泛型化的折半查詢泛型
- #查詢演算法#【1】簡單查詢:順序、折半查詢演算法
- 【資料結構】折半查詢(二分查詢)資料結構
- 二分搜尋(折半查詢)
- 折半查詢排序樹畫圖和排序
- 演算法-->折半查詢(快排)演算法
- 二分查詢【折半查詢】演算法 PHP 版演算法PHP
- 資料結構 折半查詢 swift的版本資料結構Swift
- Java實現遞迴查詢樹結構Java遞迴
- Access查詢實現Mysql的 limit 查詢MySqlMIT
- Java實現二分查詢演算法Java演算法
- java實現Hbase中的查詢(一)Filter方式JavaFilter
- 資料結構之查詢(順序、折半、分塊查詢,B樹、B+樹)資料結構
- 查詢|有序表折半查詢判定樹|二叉排序樹|3階B-樹排序
- JVM系列(四):java方法的查詢過程實現JVMJava
- java實現的二分法查詢Java
- 查詢演算法集:順序查詢、二分查詢、插值查詢、動態查詢(陣列實現、連結串列實現)演算法陣列
- (三)陣列的定義、折半查詢、排序(選擇和冒泡)陣列排序
- SSH:hiberate實現資料的查詢(單查詢和全查詢)
- Java 列舉查詢並不拋異常的實現Java
- indexdb實現分頁查詢Index
- mysql多表查詢如何實現MySql
- mysql實現隨機查詢MySql隨機
- Laravel Query Builder 複雜查詢案例:子查詢實現分割槽查詢 partition byLaravelUI
- 如何實現查詢介面的所有實現類
- 面試:Java 實現查詢旋轉陣列的最小數字面試Java陣列
- PHP 實現二分查詢PHP
- python實現查詢糾錯Python
- 實現 MyBatis 流式查詢的方法MyBatis
- [Hive]Hive實現抽樣查詢Hive