成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

java二分查找的原理如何實(shí)現(xiàn)

這篇文章主要介紹“java二分查找的原理如何實(shí)現(xiàn)”的相關(guān)知識(shí),小編通過(guò)實(shí)際案例向大家展示操作過(guò)程,操作方法簡(jiǎn)單快捷,實(shí)用性強(qiáng),希望這篇“java二分查找的原理如何實(shí)現(xiàn)”文章能幫助大家解決問(wèn)題。

在雙流等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場(chǎng)前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供網(wǎng)站制作、成都網(wǎng)站設(shè)計(jì) 網(wǎng)站設(shè)計(jì)制作定制開(kāi)發(fā),公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),高端網(wǎng)站設(shè)計(jì),全網(wǎng)整合營(yíng)銷推廣,外貿(mào)營(yíng)銷網(wǎng)站建設(shè),雙流網(wǎng)站建設(shè)費(fèi)用合理。

1.二分查找步驟描述

(1)首先確定整個(gè)查找區(qū)間的中間位置 mid = ( left + right )/ 2

(2)用待查關(guān)鍵字值與中間位置的關(guān)鍵字值進(jìn)行比較;

若相等,則查找成功

若大于,則在后(右)半個(gè)區(qū)域繼續(xù)進(jìn)行折半查找

若小于,則在前(左)半個(gè)區(qū)域繼續(xù)進(jìn)行折半查找

(3)對(duì)確定的縮小區(qū)域再按折半公式,重復(fù)上述步驟。

最后,得到結(jié)果:要么查找成功, 要么查找失敗。折半查找的存儲(chǔ)結(jié)構(gòu)采用一維數(shù)組存放。 折半查找算法舉例

java二分查找的原理如何實(shí)現(xiàn)2.要求

(1)必須采用順序存儲(chǔ)結(jié)構(gòu)。

(2)必須按關(guān)鍵字大小有序排列。

3.實(shí)例

public class Demo {
 
    public static void main(String[] args) {
        int[] arr={-1,0,3,5,9,12};//查找的數(shù)組
        int searchNum=13;//查找的目標(biāo)數(shù)
        Arrays.sort(arr);
 
        int resultOne=binarySearchOne(arr,searchNum,0,arr.length-1);
        System.out.println(resultOne);
 
        int resultTwo=binarySearchTwo(arr,searchNum);
        System.out.println(resultTwo);
    }
 
    /**
     * 遞歸實(shí)現(xiàn)
     * @param arr
     * @param searchNum
     * @param start
     * @param end
     * @return
     */
    public static int binarySearchOne(int[] arr,int searchNum,int start,int end){
        if(start>end)
            return -1;
        int middle=(start+end)/2;
        if(searchNum<arr[middle])
            return binarySearchOne(arr,searchNum,start,middle-1);
        else if(searchNum>arr[middle])
            return binarySearchOne(arr,searchNum,middle+1,end);
        else
            return middle;
    }
 
    /**
     * 非遞歸實(shí)現(xiàn)
     * @param arr
     * @param searchNum
     * @return
     */
    private static int binarySearchTwo(int[] arr, int searchNum) {
        int start=0;
        int end=arr.length-1;
        while(start<=end){
            int middle=(start+end)/2;
            if(searchNum<arr[middle])
                end=middle-1;
            else if(searchNum>arr[middle])
                start=middle+1;
            else
                return middle;
        }
        return -1;
    }
}

關(guān)于“java二分查找的原理如何實(shí)現(xiàn)”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí),可以關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,小編每天都會(huì)為大家更新不同的知識(shí)點(diǎn)。

網(wǎng)站名稱:java二分查找的原理如何實(shí)現(xiàn)
鏈接分享:http://jinyejixie.com/article42/poccec.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供搜索引擎優(yōu)化、全網(wǎng)營(yíng)銷推廣外貿(mào)建站、虛擬主機(jī)、品牌網(wǎng)站建設(shè)、網(wǎng)站導(dǎo)航

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

小程序開(kāi)發(fā)
米易县| 永泰县| 榆中县| 全椒县| 徐州市| 徐州市| 八宿县| 渝中区| 天等县| 九龙县| 阜南县| 白河县| 邹城市| 股票| 靖西县| 安新县| 行唐县| 邵阳县| 都兰县| 杨浦区| 大足县| 怀柔区| 三河市| 阿荣旗| 丽水市| 颍上县| 舞阳县| 松阳县| 交城县| 英超| 太保市| 本溪| 大荔县| 宜宾县| 泰来县| 宁晋县| 小金县| 青阳县| 贵州省| 宁化县| 喜德县|