国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【算法】簡單的二分查找算法

這篇具有很好參考價(jià)值的文章主要介紹了【算法】簡單的二分查找算法。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

一個(gè)簡單的二分查找算法:


import java.util.Arrays;
public class BinarySearch {
    public static int rank(int key,int[] a)
    {
        int lo=0;
        int hi=a.length-1;
        while (lo<=hi)
        {
            int mid=lo+(hi-lo)/2;
            if (key<a[mid])hi=mid-1;
            else if (key>a[mid])lo=mid+1;
            else return mid;
        }
        return -1;
    }
    public static void main(String[] args)
    {
        int[] whilelist={84,48,36,12,14,74,35,93};
        Arrays.sort(whilelist);
//        System.out.println(whilelist);
        int[] sc={84,48,36,100,123};
        System.out.println(sc.length);
        for (int i=0;i<sc.length;i=i+1)
        {
            int key=sc[i];
            if (rank(key, whilelist) < 0)
                System.out.println(key);
        }
    }
}

【算法】簡單的二分查找算法,算法,算法,java,數(shù)據(jù)結(jié)構(gòu)

????????簡單描述:算法由靜態(tài)方法rank()實(shí)現(xiàn),它接受一個(gè)整數(shù)鍵和一個(gè)有序的int數(shù)組作為參數(shù),如果整數(shù)存在于數(shù)組,返回它的索引,否則返回-1,算法使用兩個(gè)變量lo和hi,并保證整數(shù)如果存在于數(shù)組中則它一定存在于a[lo...hi]中,然后通過循環(huán)不斷查找,每次查找如果沒有查找到就將查找范圍縮小一半。

? ? ? ? 二分查找法之所以快是因?yàn)樗恍枰檎液苌賻讉€(gè)條目就能找到目標(biāo)元素。文章來源地址http://www.zghlxwxcb.cn/news/detail-812252.html

到了這里,關(guān)于【算法】簡單的二分查找算法的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • Python數(shù)據(jù)結(jié)構(gòu)與算法篇(五)-- 二分查找與二分答案

    Python數(shù)據(jù)結(jié)構(gòu)與算法篇(五)-- 二分查找與二分答案

    1.1 定義 ????????二分查找又稱折半查找、二分搜索、折半搜索等,是一種在靜態(tài)查找表中查找特定元素的算法。 ????????所謂靜態(tài)查找表,即只能對(duì)表內(nèi)的元素做查找和讀取操作,不允許插入或刪除元素。 ????????使用二分查找算法,必須保證查找表中存放的是有

    2023年04月20日
    瀏覽(23)
  • Java【數(shù)據(jù)結(jié)構(gòu)】二分查找

    Java【數(shù)據(jù)結(jié)構(gòu)】二分查找

    ??在 有序 數(shù)組A中,查找目標(biāo)值target ??如果找到返回索引 ??如果找不到返回-1 算法描述 解釋 前提 給定一個(gè)內(nèi)含n個(gè)元素的有序數(shù)組A,滿足A0=A1=A2=·······=An-1,一個(gè)待查值target 1 設(shè)置left=0;right = n - 1 2 如果left right ,結(jié)束查找,沒找到 3 設(shè)置mid = (left + right )/2,mid為中間

    2024年02月12日
    瀏覽(30)
  • 數(shù)據(jù)結(jié)構(gòu)-查找(順序查找與二分查找的講解與代碼實(shí)現(xiàn))

    數(shù)據(jù)結(jié)構(gòu)-查找(順序查找與二分查找的講解與代碼實(shí)現(xiàn))

    順序查找概念:從表的另一端開始,一次將記錄的和給定值進(jìn)行比較,若某個(gè)記錄的和給定的值相等,則查找成功,反之則查找失敗。 ASL:平均查找長度 pi查找概率,ci查找次數(shù) eg:序列1,2,3 查找1的次數(shù)為1概率為1/3,2為兩次概率1/3,3的次數(shù)為3概率1/3? 將12

    2024年02月06日
    瀏覽(27)
  • 【手撕數(shù)據(jù)結(jié)構(gòu)】二分查找(好多細(xì)節(jié))

    ??鍵盤敲爛,年薪30萬?? 目錄 普通版本的二分查找: right只負(fù)責(zé)控制邊界(少了兩次比較): 時(shí)間復(fù)雜度更穩(wěn)定的版本: BSLeftmost: BSRightmost: ? ??細(xì)節(jié)1:循環(huán)判定條件是left = right ?細(xì)節(jié)2:mid = (left + right ) 1 原因見代碼注釋 改動(dòng)1:while條件是left right 改動(dòng)2:right = nums.len

    2024年02月05日
    瀏覽(28)
  • Java:簡單算法:冒泡排序、選擇排序、二分查找
  • 【算法與數(shù)據(jù)結(jié)構(gòu)】Java實(shí)現(xiàn)查找與排序

    【算法與數(shù)據(jù)結(jié)構(gòu)】Java實(shí)現(xiàn)查找與排序

    也叫做折半查找,屬于有序查找算法。 前提條件 :數(shù)組數(shù)據(jù)必須有序,從小到大,或者從大到小都是可以的。 如果是無序的,也可以先進(jìn)行排序。 但是排序之后,會(huì)改變?cè)袛?shù)據(jù)的順序,查找出來元素位置跟原來的元素可能是不一樣的,所以排序之后再查找只能判斷當(dāng)前數(shù)

    2024年01月19日
    瀏覽(31)
  • 浙大數(shù)據(jù)結(jié)構(gòu)第一周01-復(fù)雜度3 二分查找

    本題要求實(shí)現(xiàn)二分查找算法。 函數(shù)接口定義: 其中 List 結(jié)構(gòu)定義如下: L 是用戶傳入的一個(gè)線性表,其中 ElementType 元素可以通過、==、進(jìn)行比較,并且題目保證傳入的數(shù)據(jù)是遞增有序的。函數(shù) BinarySearch 要查找 X 在 Data 中的位置,即數(shù)組下標(biāo)(注意:元素從下標(biāo)1開始存儲(chǔ))

    2024年02月12日
    瀏覽(32)
  • 【算法】簡單的二分查找算法

    【算法】簡單的二分查找算法

    一個(gè)簡單的二分查找算法: ????????簡單描述:算法由靜態(tài)方法rank()實(shí)現(xiàn),它接受一個(gè)整數(shù)鍵和一個(gè)有序的int數(shù)組作為參數(shù),如果整數(shù)存在于數(shù)組,返回它的索引,否則返回-1,算法使用兩個(gè)變量lo和hi,并保證整數(shù)如果存在于數(shù)組中則它一定存在于a[lo...hi]中,然后通過循

    2024年01月21日
    瀏覽(27)
  • 數(shù)據(jù)結(jié)構(gòu)--》掌握數(shù)據(jù)結(jié)構(gòu)中的查找算法

    數(shù)據(jù)結(jié)構(gòu)--》掌握數(shù)據(jù)結(jié)構(gòu)中的查找算法

    ????????當(dāng)你需要從大量數(shù)據(jù)中查找某個(gè)元素時(shí),查找算法就變得非常重要。 ??????? 無論你是初學(xué)者還是進(jìn)階者,本文將為你提供簡單易懂、實(shí)用可行的知識(shí)點(diǎn),幫助你更好地掌握查找在數(shù)據(jù)結(jié)構(gòu)和算法中的重要性,進(jìn)而提升算法解題的能力。接下來讓我們開啟數(shù)據(jù)

    2024年02月08日
    瀏覽(30)
  • 【數(shù)據(jù)結(jié)構(gòu)(七)】查找算法

    【數(shù)據(jù)結(jié)構(gòu)(七)】查找算法

    在 java 中,我們常用的查找有四種: ????① 順序(線性)查找 ????② 二分查找/折半查找 ????③ 插值查找 ????④ 斐波那契查找 問題: ????數(shù)組arr[] = {1, 9, 11, -1, 34, 89},使用線性查找方式,找出11所在的位置。 代碼實(shí)現(xiàn): 運(yùn)行結(jié)果: 問題: ????請(qǐng)

    2024年02月04日
    瀏覽(17)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包