十年網(wǎng)站開發(fā)經(jīng)驗 + 多家企業(yè)客戶 + 靠譜的建站團隊
量身定制 + 運營維護+專業(yè)推廣+無憂售后,網(wǎng)站問題一站解決
這篇文章主要為大家詳細介紹了java二分法查找的實現(xiàn)方法,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下。
java二分法查找怎么實現(xiàn)
BinarySearch
二分法查找,顧名思義就是要將數(shù)據(jù)每次都分成兩份然后再去找到你想要的數(shù)據(jù),
我們可以這樣去想,二分法查找很類似與我們平時玩的猜價格游戲,當你報出一個價格時裁判會告訴你價格相對于真實值的高低,倘若是低了那我們一定會再說出一個略高的價格,反之亦然。
()
在二分法查找時要求傳入的數(shù)據(jù)必須已經(jīng)有序,假設(shè)現(xiàn)在為升序,然后每次將所尋找的值與中間值(數(shù)組左邊界+(右邊界-左邊界)/2)作比較,大了則去尋找中間值左側(cè)數(shù)據(jù),小則尋找中間值右側(cè)數(shù)據(jù)。
public class BinarySearch { //進行二分法查找的前提是數(shù)組已經(jīng)有序! public static int rank(int key,int nums[]) { //查找范圍的上下界 int low=0; int high=nums.length-1; //未查找到的返回值 int notFind=-1; while(low<=high) { //二分中點=數(shù)組左邊界+(右邊界-左邊界)/2 //整數(shù)類型默認取下整 int mid=low+(high-low)/2; //中間值是如果大于key if(nums[mid]>key) { //證明key在[low,mid-1]這個區(qū)間 //因為num[mid]已經(jīng)判斷過了所以下界要減一 high=mid-1; }else if(nums[mid]關(guān)于java二分法查找的實現(xiàn)方法就分享到這里了,當然并不止以上和大家分析的辦法,不過小編可以保證其準確性是絕對沒問題的。希望以上內(nèi)容可以對大家有一定的參考價值,可以學(xué)以致用。如果喜歡本篇文章,不妨把它分享出去讓更多的人看到。
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。
分享題目:java二分法查找的實現(xiàn)方法-創(chuàng)新互聯(lián)
網(wǎng)站URL:http://m.jiaotiyi.com/article/dpsiss.html