【演算法-尋找之二】二分尋找

來源:互聯網
上載者:User

演算法-尋找之二二分尋找
          順序尋找【演算法-尋找之一】順序尋找是最簡單的尋找策略,易於分析,適用於小規模資料。如果資料規模很大時,順序尋找的表現就不盡人意,此時需要尋找一個更有效率的演算法-二分尋找。         二分尋找,也稱折半尋找,尋找效能優異,但尋找資料必須是有序序列。          1.順序尋找:                核心:先確定待查目標所在的範圍,然後逐步縮小範圍直到尋找成功或尋找失敗。           關鍵字key與表中某一元素Array[i]比較,有3中結果:            1.key==Array[i],尋找成功。            2.key > Array[i],待查元素可能的範圍是Array[i]之前。            3.key < Array[i],待查元素可能的範圍是Array[i]之後            二分尋找基於上述的原理:每次將可能範圍中間位置的數與key比較,相等則放回尋找成功,不等則縮小範圍。如:           關鍵字與當前範圍中間位置元素比較:                  關鍵字>中間位置元素,則縮小後的範圍:中間元素右邊              通過不斷地縮小尋找範圍,知道尋找成功,或者返回尋找失敗。
 樣本 程式如下:                 2.時間複雜度          二分尋找的時間複雜度為 log2(N)。          3.二分尋找的評估          二分尋找的效率較高,但要求序列有序。序列排序本身就是一種高代價操作,往有序序列插入入和刪除資料都比較困難。因此,二分尋找特別適合於很少改動,但需要經常尋找的表。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.