跳至主要內容

二分搜尋 / 將搜尋空間減半

模擬載入中

Open Model Lab 正在為這個概念準備即時實驗台、控制項與圖表區。

總結

你學會了甚麼

建議下一步
打開概念測驗不離開這個概念,先確認核心想法是否已經掌握。
接下來讀甚麼
Graph Representation and Adjacency IntuitionMove from ordered intervals into graph neighborhoods and visible frontiers.

關鍵重點

  1. Binary search works by maintaining one invariant: if the target exists, it is still inside the active low-to-high interval.
  2. Each midpoint comparison can delete half of the remaining positions because the list is ordered.
  3. A far-away target can still be found quickly once the interval keeps halving.

常見迷思

Binary search is not just a slightly faster scan. Its real advantage is using ordered data to discard half the remaining positions without breaking the answer-still-inside invariant.

重點不在於稍微更好的掃描,而在於每次中點檢查後刪除一半的可能性。

The midpoint tells you which value to test next; the interval width shows how the low-to-high invariant shrinks after each comparison.

  1. 中點規則

    從當前活躍區間選擇下一個要檢查的索引。

  2. 區間寬度

    計算每次二分後還剩多少位置。

為什麼會這樣

解釋

二分搜尋只在有序資料上才有意義。一旦列表被排序,每次中點檢查可以刪除一半的可能性,而不是逐一檢查。

這個工作台把 low、mid、high 和收縮中的區間一起保持可見,因此速度來自搜尋空間的幾何縮減,而不是背程式口訣。

重點

01二分搜尋之所以有效,因為資料是有序的。
02中點很重要,因為一次比較就能刪去剩下區間的一半。
03low、mid、high 共同定義目前仍然活躍的搜尋空間。

例題

例題

想逐步查看同一個概念如何被帶出來時,再打開這些例題。

凍結步驟

逐步查看凍結例題

凍結步驟
直接從目前的搜尋場景讀出當前區間。

支持者方案會解鎖已儲存學習工具、精確狀態分享,以及支援這條引導流程的更深入複習面板。

查看方案
凍結數值使用凍結參數

當前二分搜尋步驟告訴你什麼?

陣列大小

14

目標位置

7

1. 閱讀活躍區間

The active interval runs from index 0 to 13, so 14 positions are still possible.

2. 閱讀中點檢查

The current midpoint is index 6, which holds 22 while the target is 25.

3. 比較搜尋成本

So far binary search has used 0 midpoint checks, while a one-by-one scan would need 8 checks to guarantee the same target.

當前搜尋讀取

Because the target is larger than the midpoint value, the left half is already ruled out.

快速測驗

正在載入已保存的測驗狀態。

無障礙

無障礙

當你需要把模擬與圖表轉成文字描述時,再打開這裡。

模擬會顯示一個有序陣列,並標出 low、mid、high 三個位置。活躍區間會一直被高亮,而可選的幽靈車道則顯示在相同次數檢查下,逐項掃描會走到多遠。

圖表摘要

一個圖表追蹤區間寬度,另一個圖表追蹤低、中、高位置,第三個圖表比較二分搜尋檢查與線性搜尋檢查。

工作台工具與分享連結

先把穩定概念連結和精確狀態分享收起來,等你真的要重新打開或分享工作台時再展開。

試試這個設定

跳到某個命名好的實驗台狀態,或直接複製你目前正在看的狀態。分享連結會重新打開同一組控制、圖表、疊層與比較脈絡。

目前實驗台

中間目標 預設場景

這個實驗台目前顯示的是其中一個概念作者預設場景。

打開預設實驗台

已儲存設定

已儲存設定屬於支持者方案學習工具;穩定的概念連結仍會對所有人保留。

正在確認已儲存設定權限

Open Model Lab 正在判斷這個實驗台可否只儲存在本機、同步到帳戶,或打開只限支持者方案的比較工具。

複製目前設定

精準狀態分享屬於支持者方案功能;穩定的概念與段落連結仍然可用。

穩定連結

進度與下一步

把進度訊號、入門路徑接續和複習提示留在頁面裡,但不要讓它們和主要學習流程搶焦點。

進度

正在載入進度

正在為這個瀏覽器或已同步帳戶載入已儲存的概念進度,稍後才會顯示完成狀態。

入門路徑

第 2 / 6 步

演算法與搜尋基礎

二分搜尋 / 將搜尋空間減半 在這條路徑中屬於較後面的步驟,所以先由起點開始會較清楚。

上一個步驟:排序與演算法權衡