Java 二分法查詢演算法

2021-08-08 22:56:25 字數 1259 閱讀 4477

今天看演算法時無意間想起二分法查詢演算法,感覺很基礎,很不錯,分享給大家。

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

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

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

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

* @author administrator**/

public

class

binarysearch ;   

system.out.println(binarysearch(src, 3

));  

system.out.println(binarysearch(src,3,0

,src.length-

1));  

}  /**

* * 二分查詢演算法 * *

* * @param srcarray

*            有序陣列 *

* @param des

*            查詢元素 *

* @return des的陣列下標,沒找到返回-1

*/public

static

intbinarysearch(

int srcarray, 

intdes)else

if(des 

high = middle - 1

;   

}else

}  return-1

;  }  

/**  

*二分查詢特定整數在整型陣列中的位置(遞迴)  

*@paramdataset  

*@paramdata  

*@parambeginindex  

*@paramendindex  

*@returnindex  

*/public

static

intbinarysearch(

int dataset,

intdata,

intbeginindex,

intendindex)  

if(data 

return

binarysearch(dataset,data,beginindex,midindex-

1);    

}else

if(data>dataset[midindex])else

}   } 

Java 二分法查詢

這學期學了資料結構這門課,這會都期末了才想起來更新部落格,所以我就來了,話不多說。如下 package com.vgbh public class binarysearch 二分法查詢必須是已經排序好的數列,且必須為正序,才可進行查詢 首先,假設表中元素是按公升序排列,將表中間位置記錄的關鍵字與查詢...

Java二分法查詢

前提 必須是有序的資料。基本思想 把乙個有序的資料乙份為二。然後判斷是比目標資料大了還是小了,如果小了往左邊的部分找 如果大了往右邊的資料找。確定了找的方向後再次把資料一分為二,繼續上面的步驟直到找到為止。涉及到了遞迴的思想。通俗的講 每次減少一半,然後確定方向,再次減少一半,直到找到為止。1 傳入...

二分法查詢 Java

原理 基本思想 假設資料是按公升序排序的,對於給定值x,從序列的中間位置開始比較,如果當前位置值等於x,則查詢成功 若x小於當前位置值,則在數列的前半段中查詢 若x大於當前位置值則在數列的後半段中繼續查詢,直到找到為止。演算法 假如有一組數為3,12,24,36,55,68,75,88要查給定的值2...