十七 二分查詢法(java)

2021-08-19 07:45:11 字數 892 閱讀 3086

1.二分查詢又稱折半查詢,它是一種效率較高的查詢方法。

2.二分查詢要求:(1)必須採用順序儲存結構 (2).必須按關鍵字大小有序排列

3.原理:將陣列分為三部分,依次是中值(所謂的中值就是陣列中間位置的那個值)前,中值,中值後;將要查詢的值和陣列的中值進行比較,若小於中值則在中值前 面找,若大於中值則在中值後面找,等於中值時直接返回。然後依次是乙個遞迴過程,將前半部分或者後半部分繼續分解為三部分。

4.實現:二分查詢的實現用遞迴和迴圈兩種方式

5.**

package other;

public

class binarysearch else

if(x 1;

}else

} return -1;

}//遞迴實現二分查詢

public

static

intbinarysearch(int dataset,int data,int beginindex,int endindex)

if(data return binarysearch(dataset,data,beginindex,midindex-1);

}else

if(data>dataset[midindex])else

}

public

static

void

main(string args) ;

system.out.println("迴圈查詢:" + (binarysearch(arr, 87) + 1));

system.out.println("遞迴查詢"+binarysearch(arr,3,87,arr.length-1));

}}

java二分查詢法

二分查詢又稱折半查詢,它是一種效率較高的查詢方法。二分查詢要求 1.必須採用順序儲存結構 2.必須是有序的陣列 首先先看看普通的搜尋方法 普通方法的查詢 param arr param value return public static int search int arr,int value r...

二分查詢法 java

二分查詢 要求 必須採用順序儲存結構 必須按關鍵字大小有序排列。實現方法分為迴圈和遞迴兩種 迴圈法 迴圈法 要求 必須採用順序儲存結構 必須按關鍵字大小有序排列 public static int binarysearch int a,int key else if key a middle els...

Java 二分查詢法

二分查詢 binary search 也稱對數搜尋 logarithmic search 是一種在 有序陣列 中查詢某一特定元素的搜尋演算法。下面是二分查詢的程式 public static intbinary int arr,int data else if arr mid data else r...