中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

快速查找與二分查找算法如何在Java中實現

發布時間:2020-12-04 16:56:09 來源:億速云 閱讀:338 作者:Leah 欄目:編程語言

這期內容當中小編將會給大家帶來有關快速查找與二分查找算法如何在Java中實現,文章內容豐富且以專業的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

1. 快速查找:

這個是相當簡單的,以數組舉例,就用一個for循環去查找數組中需要查找的數據

例子:

public static boolean quickSearch(int a[], int x) {
    boolean f = false;
    int length = a.length;
    int i;
    for (i = 0; i < length - 1; i++) {
      if (x == a[i]) {
        f = true;
        break;
      }
    }
    return f;
}

2. 二分法(折半)查找:

二分法查找,其要求數據序列必須是呈線性結構的,也就是說數據序列必須是排過序的才能用二分法。

直接舉例(使用二分法的時候采用遞歸即可):

// 二分法方法一
public static boolean erFen(int a[], int low, int high, int x) {
    boolean f = false;
    if (low <= high) {
      if (x < a[(low + high) / 2]) {
        f = erFen(a, low, (low + high) / 2 - 1, x);
      } else if (x > a[(low + high) / 2]) {
        f = erFen(a, (low + high) / 2 + 1, high, x);
      } else if (x == a[(low + high) / 2]) {
        f = true;
      }
    }
    return f;
}
// 二分法方法二
public static boolean erFen2(int a[], int x) {
    boolean f = false;
    int length = a.length;
    int low = 0;
    int high = length - 1;
    int mid;
    while (low <= high) {
      mid = a[(low + high) / 2];
      if (mid < x)
        low = (low + high) / 2 + 1;
      else if (mid > x)
        high = (low + high) / 2 - 1;
      else if (mid == x) {
        f = true;
        break;
      }
    }
    return f;
}

上述就是小編為大家分享的快速查找與二分查找算法如何在Java中實現了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

万年县| 马关县| 大冶市| 苍山县| 邹城市| 监利县| 漠河县| 靖远县| 遵义县| 慈溪市| 积石山| 南木林县| 灵宝市| 舒城县| 正定县| 丰顺县| 常山县| 广水市| 阿克苏市| 当涂县| 曲靖市| 临汾市| 双城市| 廉江市| 济源市| 兴安县| 桂阳县| 临武县| 丰城市| 清丰县| 宿州市| 台安县| 沽源县| 富宁县| 高州市| 遂溪县| 松原市| 克拉玛依市| 师宗县| 盘锦市| 余庆县|