最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java實(shí)現(xiàn)的兩種常見(jiàn)簡(jiǎn)單查找算法示例【快速查找與二分查找】

 更新時(shí)間:2017年09月12日 08:55:05   作者:perfect亮  
這篇文章主要介紹了Java實(shí)現(xiàn)的兩種常見(jiàn)簡(jiǎn)單查找算法,結(jié)合具體實(shí)例形式分析了java快速查找與二分查找的原理與簡(jiǎn)單實(shí)現(xiàn)技巧,需要的朋友可以參考下

本文實(shí)例講述了Java實(shí)現(xiàn)的兩種常見(jiàn)簡(jiǎn)單查找算法。分享給大家供大家參考,具體如下:

前言:

查找是指從一批記錄當(dāng)中找出滿足制定條件的某一記錄的過(guò)程。

在平常的程序的編寫當(dāng)中很多時(shí)候時(shí)用得上的,這里簡(jiǎn)單介紹兩個(gè)查找算法

1. 快速查找:

這個(gè)是相當(dāng)簡(jiǎn)單的,以數(shù)組舉例,就用一個(gè)for循環(huán)去查找數(shù)組中需要查找的數(shù)據(jù)

例子:

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. 二分法(折半)查找:

二分法查找,其要求數(shù)據(jù)序列必須是呈線性結(jié)構(gòu)的,也就是說(shuō)數(shù)據(jù)序列必須是排過(guò)序的才能用二分法。

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

// 二分法方法一
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;
}

更多關(guān)于java算法相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Java數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Java操作DOM節(jié)點(diǎn)技巧總結(jié)》、《Java文件與目錄操作技巧匯總》和《Java緩存操作技巧匯總

希望本文所述對(duì)大家java程序設(shè)計(jì)有所幫助。

相關(guān)文章

  • SpringBoot CommandLineRunner應(yīng)用啟動(dòng)后執(zhí)行代碼實(shí)例

    SpringBoot CommandLineRunner應(yīng)用啟動(dòng)后執(zhí)行代碼實(shí)例

    本文將深入探討CommandLineRunner的工作原理、使用場(chǎng)景及最佳實(shí)踐,幫助開(kāi)發(fā)者充分利用這一功能,構(gòu)建更加健壯的Spring Boot應(yīng)用,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2025-04-04
  • 通過(guò)java反射機(jī)制動(dòng)態(tài)調(diào)用某方法的總結(jié)(推薦)

    通過(guò)java反射機(jī)制動(dòng)態(tài)調(diào)用某方法的總結(jié)(推薦)

    下面小編就為大家?guī)?lái)一篇通過(guò)java反射機(jī)制動(dòng)態(tài)調(diào)用某方法的總結(jié)(推薦)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2016-07-07
  • FeignClientFactoryBean創(chuàng)建動(dòng)態(tài)代理詳細(xì)解讀

    FeignClientFactoryBean創(chuàng)建動(dòng)態(tài)代理詳細(xì)解讀

    這篇文章主要介紹了FeignClientFactoryBean創(chuàng)建動(dòng)態(tài)代理詳細(xì)解讀,當(dāng)直接進(jìn)去注冊(cè)的方法中,一步步放下走,都是直接放bean的定義信息中放入值,然后轉(zhuǎn)成BeanDefinitionHolder,最后在注冊(cè)到IOC容器中,需要的朋友可以參考下
    2023-11-11
  • mybatis如何設(shè)置useGeneratedKeys=true

    mybatis如何設(shè)置useGeneratedKeys=true

    這篇文章主要介紹了mybatis如何設(shè)置useGeneratedKeys=true,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。
    2022-01-01
  • mybatis中映射文件(mapper)中的使用規(guī)則

    mybatis中映射文件(mapper)中的使用規(guī)則

    這篇文章主要介紹了mybatis中映射文件(mapper)中的使用規(guī)則,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-11-11
  • java實(shí)現(xiàn)微信點(diǎn)餐申請(qǐng)微信退款

    java實(shí)現(xiàn)微信點(diǎn)餐申請(qǐng)微信退款

    這篇文章主要為大家詳細(xì)介紹了java實(shí)現(xiàn)微信點(diǎn)餐申請(qǐng)微信退款,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-09-09
  • Java里遍歷Map集合的多種方法總結(jié)

    Java里遍歷Map集合的多種方法總結(jié)

    Java中的Map是一種鍵值對(duì)映射的數(shù)據(jù)結(jié)構(gòu),它提供了一些常用的方法用于獲取、添加、刪除和修改元素,在Java中,有多種方式可以遍歷Map,本文將介紹其中的四種常用方式,并比較它們之間的優(yōu)缺點(diǎn),需要的朋友可以參考下
    2024-07-07
  • SpringBoot項(xiàng)目加入沖突動(dòng)態(tài)監(jiān)測(cè)算法的實(shí)現(xiàn)

    SpringBoot項(xiàng)目加入沖突動(dòng)態(tài)監(jiān)測(cè)算法的實(shí)現(xiàn)

    沖突動(dòng)態(tài)監(jiān)測(cè)算法是一種網(wǎng)絡(luò)通信中的沖突檢測(cè)方法,適用于無(wú)線網(wǎng)絡(luò)或其他共享傳輸介質(zhì)的環(huán)境,本文主要介紹了SpringBoot項(xiàng)目加入沖突動(dòng)態(tài)監(jiān)測(cè)算法的實(shí)現(xiàn),感興趣的可以了解一下
    2023-09-09
  • 如何使用Jackson和JSON Pointer查詢解析任何JSON節(jié)點(diǎn)

    如何使用Jackson和JSON Pointer查詢解析任何JSON節(jié)點(diǎn)

    本文介紹了JSON Pointer是字符串表達(dá)式,可以非常方便解析復(fù)雜JSON節(jié)點(diǎn)值,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-09-09
  • 深入講解Java中的多態(tài)和抽象類

    深入講解Java中的多態(tài)和抽象類

    這篇文章主要介紹了深入講解Java中的多態(tài)和抽象類,有時(shí)候,設(shè)計(jì)一個(gè)數(shù)組或方法的參數(shù),返回值類型時(shí),無(wú)法確定具體的類型,只能確定是某個(gè)系列的類型,這時(shí)就引入了多態(tài),需要的朋友可以參考下
    2023-08-08

最新評(píng)論

静宁县| 广平县| 三亚市| 朝阳区| 通辽市| 台中县| 大方县| 黄石市| 甘德县| 肃南| 连山| 平舆县| 米林县| 天门市| 饶阳县| 叙永县| 吐鲁番市| 丽水市| 萨迦县| 邵阳市| 乌苏市| 肃宁县| 闵行区| 乐清市| 蓬莱市| 社旗县| 象山县| 区。| 琼结县| 凤山市| 大田县| 濉溪县| 南靖县| 碌曲县| 平安县| 涟水县| 克东县| 古交市| 瑞丽市| 新野县| 长沙县|