學習目標 (Learning Objective)
透過視覺化賽跑,理解並比較線性搜尋與二分搜尋的運作邏輯。觀察在資料量變大時,為什麼二分搜尋能展現壓倒性的效能優勢。
線性搜尋 (Linear Search)
從第一個元素開始逐一檢查,直到找到目標為止。這是一種最直觀的搜尋方式,適用於任何資料(無論是否排序)。缺點是當資料量龐大時,搜尋速度會非常慢。
二分搜尋 (Binary Search)
透過每次檢查「中間值」,直接將搜尋範圍縮減一半。速度極快,即使面對上百萬筆資料也能在幾十次內找到。但其先決條件是:資料必須已經「排序」。
💡 常見迷思 (Misconceptions)
- 迷思一:二分搜尋永遠比較好?
不一定!二分搜尋必須在「已排序」的資料上執行。如果資料未排序,事前排序所花費的時間,可能比直接使用線性搜尋還要久。 - 迷思二:只能用來搜尋數字?
錯!只要資料有「大小順序」關係(例如英文字母 A-Z、日期先後),都可以使用二分搜尋。
🔗 思考與連結 (Think & Link)
生活中有許多搜尋演算法的影子,試著思考:
- 翻英漢字典:你會從第一頁開始翻(線性),還是直接從中間翻開找(二分)?
- 找遺失的鑰匙:你只能一個個房間找,因為鑰匙沒有「順序」可言,這就是真實世界的線性搜尋!
大賽跑:1 到 31
線性搜尋跑道
步數: 0
等待開始...
二分搜尋跑道
步數: 0
等待開始...