91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

Java JDK 二分法 分析demo(推薦)

發布時間:2020-09-13 01:22:08 來源:腳本之家 閱讀:158 作者:jingxian 欄目:編程語言

如下所示:

public class Test
{

  public static void main(String[] args)
  {
    Long[] arr = new Long[100000];
    for(int i =0;i<100000;i++)
    {
      arr[i] = (long) i;
    }

    System.out.println(binarySearch(arr, 3L));
    
    Comparable midVal = (Comparable) 2L;;
    System.out.println(midVal.compareTo(2l));
  }

  private static int binarySearch(Long[] arr, long l)
  {
    return binarySearch0(arr,0,arr.length,l);
  }

  private static int binarySearch0(Object[] a, int fromIndex, int toIndex, Object key)
  {
    int low = fromIndex;
    int high = toIndex - 1;

    while (low <= high)
    {
      int mid = (low + high) >>> 1;
      Comparable midVal = (Comparable) a[mid];
      int cmp = midVal.compareTo(key);

      if (cmp < 0)
        low = mid + 1;
      else if (cmp > 0)
        high = mid - 1;
      else
        return mid; // key found
    }
    return -(low + 1); // key not found.
  }

}

算法:當數據量很大適宜采用該方法。采用二分法查找時,數據需是有序不重復的。 基本思想:假設數據是按升序排序的,對于給定值 x,從序列的中間位置開始比較,如果當前位置值等于 x,則查找成功;若 x 小于當前位置值,則在數列的前半段中查找;若 x 大于當前位置值則在數列的后半段中繼續查找,直到找到為止。

以上這篇Java JDK 二分法 分析demo(推薦)就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持億速云。

向AI問一下細節

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

AI

阜康市| 东宁县| 鹤庆县| 乐安县| 镇雄县| 绥芬河市| 托里县| 柳林县| 博罗县| 鄯善县| 乌什县| 康乐县| 钦州市| 崇仁县| 碌曲县| 阳谷县| 怀来县| 延津县| 尼勒克县| 龙陵县| 乾安县| 贵南县| 广饶县| 阿拉善左旗| 开江县| 凉城县| 九江县| 年辖:市辖区| 惠东县| 五莲县| 巴南区| 曲靖市| 杂多县| 岢岚县| 新沂市| 汪清县| 淮北市| 成安县| 永年县| 陇川县| 利川市|