溫馨提示×

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

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

java中查找算法有哪些

發(fā)布時(shí)間:2021-11-17 09:26:18 來(lái)源:億速云 閱讀:107 作者:小新 欄目:大數(shù)據(jù)

小編給大家分享一下java中查找算法有哪些,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

順序查找

  • 順序查找也稱為線形查找,屬于無(wú)序查找算法。

  • 時(shí)間復(fù)雜度為O(n);

二分查找

  • 元素必須是有序的,如果是無(wú)序的則要先進(jìn)行排序操作。

  • 也稱折半查找,屬于有序查找算法。

  • 復(fù)雜度分析:

    • 最壞情況下,關(guān)鍵詞比較次數(shù)為log2(n+1),

    • 且期望時(shí)間復(fù)雜度為O(log2n);

插值查找

  • 基于二分查找算法,

    • 將查找點(diǎn)的選擇改進(jìn)為自適應(yīng)選擇,可以提高查找效率。

    • 找最大值最小值的中間值

    • 均勻分布效率高

  • 當(dāng)然,插值查找也屬于有序查找。

  • 復(fù)雜度分析:

    • 查找成功或者失敗的時(shí)間復(fù)雜度均為O(log2(log2n))。

斐波那契查找

  • 二分查找的一種提升算法,

    • 通過(guò)運(yùn)用黃金比例的概念在數(shù)列中選擇查找點(diǎn)進(jìn)行查找,提高查找效率。

  • 同樣地,斐波那契查找也屬于一種有序查找算法。

樹(shù)表查找

  • 二叉查找樹(shù)是先對(duì)待查找的數(shù)據(jù)進(jìn)行生成樹(shù),

  • 確保樹(shù)的左分支的值小于右分支的值,

  • 然后在就行和每個(gè)節(jié)點(diǎn)的父節(jié)點(diǎn)比較大小,查找最適合的范圍

分塊查找

  • 又稱索引順序查找,它是順序查找的一種改進(jìn)方法

  • 將n個(gè)數(shù)據(jù)元素"按塊有序"劃分為m塊(m ≤ n)。

 哈希查找

  • 時(shí)間復(fù)雜度為O(1)

以上是“java中查找算法有哪些”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI