激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|

服務器之家 - 編程語言 - JAVA教程 - Java實現二分查找算法實例分析

Java實現二分查找算法實例分析

2019-12-30 14:00tolcf JAVA教程

這篇文章主要介紹了Java實現二分查找算法,實例分析了二分查找算法的原理與相關實現技巧,具有一定參考借鑒價值,需要的朋友可以參考下

本文實例講述了Java實現二分查找算法。分享給大家供大家參考。具體如下:

1. 前提:二分查找的前提是需要查找的數組必須是已排序的,我們這里的實現默認為升序

2. 原理:將數組分為三部分,依次是中值(所謂的中值就是數組中間位置的那個值)前,中值,中值后;將要查找的值和數組的中值進行比較,若小于中值則在中值前面找,若大于中值則在中值后面找,等于中值時直接返回。然后依次是一個遞歸過程,將前半部分或者后半部分繼續分解為三部分。可能描述得不是很清楚,若是不理解可以去網上找。從描述上就可以看出這個算法適合用遞歸來實現,可以用遞歸的都可以用循環來實現。所以我們的實現分為遞歸和循環兩種,可以根據代碼來理解算法

實現代碼:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
public class BinarySearch {
 public static void main(String[] args){
 int searchArr[] = new int[1000000];
 for(int i=0;i<1000000;i++){
  searchArr[i]=i;
 }
   System.out.println(binSearch(searchArr,0,searchArr.length-1,99));
    System.out.println(binSearch(searchArr,99));
  }
//遞歸二分查找
  public static int binSearch(int arr[], int start,int end,int sear){
    int mid = (end-start)/2 + start;
    if(sear==arr[mid]){
      return mid;
    }
    if(start>=end){
      return -1;
    }else if(sear < arr[mid]){
      return binSearch(arr,0,mid-1,sear);
    }else if(sear >arr[mid]){
      return binSearch(arr,mid+1,end,sear);
    }
    return -1;
  }
//循環二分查找
  public static int binSearch(int arr[],int key){
    int mid = arr.length/2;
    int start = 0;
    int end = arr.length-1;
    while(start<=end){
      mid = (end-start)/2+start;
      if(key ==arr[mid]){
        return mid;
      }else if(key <= arr[mid]){
        end = mid-1;
      }else if(key >=arr[mid]){
        start = mid+1;
      }
    }
    return -1;
  }

效率比較:

循環二分查找算法的效率高于遞歸二分查找算法

希望本文所述對大家的java程序設計有所幫助。

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 久久成人免费网站 | 欧美一级精品 | 久产久精品 | 高清中文字幕在线 | 亚洲不卡 | 久久国产精品二国产精品中国洋人 | 久久久成人精品视频 | 欧美成人精品h版在线观看 久久久久久三区 | 成人毛片免费视频 | 92看片淫黄大片欧美看国产片 | av噜噜在线 | 一本视频在线观看 | 成人性视频欧美一区二区三区 | 特级无码毛片免费视频尤物 | 国产毛片网站 | 毛片网站视频 | 91精品国产乱码久久桃 | 中文字幕在线观看视频www | 成人免费淫片视频观 | 伊人在线视频 | 日本亚洲欧美 | 黄www片 | 永久免费黄色大片 | 中国一级毛片在线播放 | 99精品在线观看 | 久久国产成人精品国产成人亚洲 | 久草在线免费看 | 亚洲第一激情 | 色欲香天天天综合网站 | 国产精品亚洲一区二区三区久久 | 国产在线观看免费视频软件 | 国产1区在线观看 | 亚洲人成中文字幕在线观看 | 欧美成人精品欧美一级乱黄 | 91久久久久久久久久久久久久 | 欧美在线黄色 | 嗯~啊~弄嗯~啊h高潮视频 | 国产成人自拍小视频 | 亚洲第一页综合 | 娇妻被各种姿势c到高潮小说 | 精品无码久久久久久国产 |