成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

簡述二分查找算法與時間復雜度,并實現一個二分查找算法

網絡 通信技術 算法
二分查找也稱折半查找算法,它是一種簡單易懂的快速查找算法。例如我隨機寫0-100之間的一個數字,讓你猜我寫的是什么?你每猜一次,我就會告訴你猜的大了還是小了,直到猜中為止。

[[432404]]

二分查找也稱折半查找算法,它是一種簡單易懂的快速查找算法。例如我隨機寫0-100之間的一個數字,讓你猜我寫的是什么?你每猜一次,我就會告訴你猜的大了還是小了,直到猜中為止。

該算法要求待查找的數組已排序,實現步驟如下:

  • 選擇數組中的中間數
  • 查找數與中間數對比,比中間數低,則去中間數左邊的子數組中尋找;比中間數高,則去中間數右邊的子數組中尋找;相等則返回查找成功
  • 重復上一步,知道查找成功或失敗
  1. function binarySearch(items, item) { 
  2.     var low = 0, 
  3.         high = items.length - 1, 
  4.         mid, elem 
  5.     while(low <= high) { 
  6.         mid = Math.floor((low+high)/2) 
  7.         elem = items[mid] 
  8.         if(elem < item) { 
  9.             low = mid + 1 
  10.         } else if(elem > item) { 
  11.             high = mid - 1 
  12.         } else { 
  13.             return mid 
  14.         } 
  15.     } 
  16.     return -1 
  17.  
  18. // 測試 
  19. var arr = [2,3,1,4] 
  20. // 快排 
  21. quickSort(arr) 
  22.  
  23. binarySearch(arr, 3) 
  24. // 2 
  25.  
  26. binarySearch(arr, 5) 
  27. // -1 

測試成功

二分查找易錯點:

  • 循環退出條件是low <= high ,注意是 <=
  • mid 的取值是 Math.floor((low+high)/2)
  • low high 每次更新的時候,low = mid + 1 high = mid - 1

二分查找局限性:

  • 針對的對象是數組結構,因為是通過下標來隨機訪問元素
  • 數組必須有序
  • 數組太小不合適,直接使用順序查找即可
  • 數組太長不合適,數組要求連續的內存空間,數組太長不利于存儲

時間復雜度:O(logn)

空間復雜度:O(1)

 

leetcode:https://leetcode-cn.com/problems/binary-search/solution/er-fen-cha-zhao-by-user7746o/

 

責任編輯:武曉燕 來源: 三分鐘學前端
相關推薦

2022-03-28 10:03:58

二分查找算法

2020-12-08 06:32:04

Kafka二分查找

2021-04-23 09:12:09

Java數據結構算法

2022-12-05 09:42:14

C++Python算法

2022-03-29 07:52:21

運用技巧二分查找

2021-04-27 06:21:29

Java數據結構算法

2022-02-15 08:25:22

hash表快排二分查找

2022-03-18 08:37:12

二分查找算法元素

2023-12-22 09:37:13

二分查找數組數據庫

2020-12-04 10:13:09

算法二分法效率

2021-09-10 09:58:35

AvlBST時間

2023-09-16 18:35:53

二分查找算法

2024-04-25 08:33:25

算法時間復雜度空間復雜度

2021-06-28 06:15:14

算法Algorithm時間空間復雜度

2021-01-05 10:41:42

算法時間空間

2022-04-13 09:30:00

C++二分圖圖著色

2020-12-30 05:35:56

數據結構算法

2021-10-14 07:55:20

二分查找面試

2019-11-18 12:41:35

算法Python計算復雜性理論

2022-06-26 00:29:26

分布式系統Redis
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产精品久久久久影院色老大 | 国精产品一品二品国精在线观看 | 中文字幕在线观看一区 | 自拍亚洲| 欧美嘿咻| 天天操天天干天天透 | 亚洲国产精品一区二区三区 | 午夜视频在线观看网址 | 日韩在线视频免费观看 | 天堂中文av| 国产一区二区三区 | 国产精品精品 | 四虎午夜剧场 | 国产目拍亚洲精品99久久精品 | 精品一区二区三区四区 | 91精品国产综合久久香蕉麻豆 | 久久久久成人精品亚洲国产 | 国产麻豆乱码精品一区二区三区 | 中文字幕 在线观看 | 91xxx在线观看 | 337p日韩 | 国产欧美一区二区三区在线看 | 亚洲成人黄色 | 这里只有精品999 | 国产农村妇女毛片精品久久麻豆 | 午夜精品久久久 | 一级黄色片美国 | 久久不卡| 国产精品欧美一区二区 | 欧美日本韩国一区二区 | 国产精品久久久久久久久久妇女 | 特级特黄特色的免费大片 | 久久久久国产一区二区 | 99视频在线免费观看 | 一区二区在线免费观看 | 美人の美乳で授乳プレイ | 成人性生交大片 | 精品九九| 粉嫩高清一区二区三区 | 免费看的av| 国产一区二区精品在线 |