[DSA] 二元搜尋(Binary Search)

**二元搜尋(Binary Search)**是一種在有序序列中查找特定元素的算法。這種搜索方法的效率非常高,比起使用線性搜索,在大型數據集中通常能夠大大減少所需的搜尋步驟。


以下是二元搜尋的基本步驟:


1. **初始化**:選取序列的中點作為當前的元素。

   

2. **比較**:將該元素與所尋找的元素進行比較。


3. **決策**:

   - 如果中點的元素**等於**所尋找的元素,則搜索成功,返回該位置。

   - 如果所尋找的元素**小於**中點的元素,則在當前中點**之前**的子序列中繼續進行二元搜尋。

   - 如果所尋找的元素**大於**中點的元素,則在當前中點**之後**的子序列中繼續進行二元搜尋。


4. **重複**:不斷地縮小搜尋範圍,直到找到該元素或範圍縮小到0。


這個方法的關鍵在於,每一次比較都使得搜索範圍減半,從而大大加快了搜索速度。


**時間複雜度**:  

由於每次操作都會使搜索範圍減少一半,所以二元搜尋的時間複雜度是O(log n),其中n是序列的大小。這使得二元搜尋比線性搜尋(其時間複雜度為O(n))要快得多,特別是對於大型數據集。


**注意**:  

要使用二元搜尋,前提是序列必須是有序的。如果數據不是有序的,那麼在使用二元搜尋之前,必須先對它進行排序。


總之,二元搜尋是一種高效的查找方法,適用於有序的數據集,特別是當數據集非常大時。


其他程式面試/Leetcode相關討論:

留言

Google Search

推薦內容橫式

本月熱門文章

日本旅行 去東京可以在哪邊買羽球相關用品? WEMBLEY/WINDSOR/梭家/Victoria/Alpen TOKYO

[FAANG面試] Amazon/AWS 領導力準則 14 Amazon Leadership Principles

PM到底在做什麼 ? Project Manager, Product Manager 以及 Program Manager的差別

ComfyUI搭配各個Stable Diffusion模型版本的介紹、檔案名稱及相應的目錄結構。

蔣經國時代 1979年 美麗島事件 回顧

Netflix 勁爆女子監獄 Orange is the New Black /OINTB 成立了 Poussey Washington Fund 這個基金將會幫助更生人及移民人權問題 !!

快速上手的ComfyUI與Stable Diffusion生成圖片的cheat sheet

許多深藍人士懷念的兩蔣時代

日本女子搖滾樂團=Hölderlins的吉他手 高橋聖子 Shoko Takahashi 可能要單飛啦 讓搖滾,性感和舞蹈音樂可以很好地融合在一起

川普第二次擔任美國總統

這個網誌中的熱門文章

Android應用開發豆知識:利用 adb 安裝 apk 到裝置上

Android 中文輸入法 官方版 ! Gboard - Google 鍵盤 開始支援注音輸入啦

Google Play 推薦Android app 誠徵App排行榜

北京故宮首訪,一窺清宮秘史 大玉兒 & 甄嬛

[家教][社會觀察] 建中教我的事 沒上建中被父母親折磨? 在建中到底是如何 ...

[FAANG面試] Amazon/AWS 領導力準則 14 Amazon Leadership Principles

Acer ICONIA Smart S300 更新後越來越好 Acer也有出手機?!

[品質控制] 什麼是Sanity test ? 軟體測試常見名詞整理 包含不同部門的測試人員負責範圍

新鮮人找工作:職場名詞解釋 AE FAE Pre-sales Post-sales