<?xml version="1.0" encoding="utf-8"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"><channel><title>MagicLen</title><link>https://magiclen.org/tag/binary-search/feed</link><description>多元化原創文章，內容包羅萬象，有程式語言、網站應用、軟體介紹、硬體介紹、作業系統、旅行遊記、專題採訪、益智問題、文學創作，以及作者們的知識分享和作品分享。</description><language>zh-TW</language><lastBuildDate>Wed, 22 Apr 2026 00:19:37 +0000</lastBuildDate><sy:updatePeriod>hourly</sy:updatePeriod><sy:updateFrequency>8</sy:updateFrequency><sy:updateBase>1970-01-01T00:00+00:00</sy:updateBase><item><title>如何將遞迴函數改成迭代函數？</title><link>https://magiclen.org/recursive-to-iterative</link><description><![CDATA[    <img src="https://magiclen.org/wp-content/uploads/2020/04/mathematics-1509559_1920-220x162.jpg" srcset="https://magiclen.org/wp-content/uploads/2020/04/mathematics-1509559_1920-220x162.jpg 1x, https://magiclen.org/wp-content/uploads/2020/04/mathematics-1509559_1920-440x324.jpg 2x, https://magiclen.org/wp-content/uploads/2020/04/mathematics-1509559_1920-660x486.jpg 3x" alt="">
遞迴(Recursive)函數是在執行的過程又會直接或間接地呼叫自己本身的函數。通常透過遞迴函數可以快速地驗證我們的演算法，用簡短的程式碼處理複雜的問題，但是函數在呼叫時需要建立新的堆疊框(Stack Frame)，除了會需要額外的開支(Overhead)之外，如果在函數中呼叫函數，而這函數又會呼叫函數，持續下去，很容易就會造成堆疊溢出(Stack Overflow)。雖然有些程式語言的編譯器會做...]]></description><category>研究分享</category><category>Java</category><category>Rust</category><category>Go</category><category>JavaScript</category><category>Java</category><category>JavaScript</category><category>Rust</category><category>二元搜尋</category><category>TypeScript</category><category>費氏數列</category><category>階乘</category><category>Go</category><guid>https://magiclen.org/recursive-to-iterative</guid><pubDate>Thu, 11 Jun 2020 12:00:44 +0800</pubDate><dc:creator>Magic Len</dc:creator></item><item><title>費氏搜尋(Fibonacci Search)演算法，運用費氏數列的搜尋演算法</title><link>https://magiclen.org/fibonacci-search</link><description><![CDATA[    <img src="https://magiclen.org/wp-content/uploads/2016/04/Searchicons-search-blogs-512-220x162.png" srcset="https://magiclen.org/wp-content/uploads/2016/04/Searchicons-search-blogs-512-220x162.png 1x, https://magiclen.org/wp-content/uploads/2016/04/Searchicons-search-blogs-512-440x324.png 2x, https://magiclen.org/wp-content/uploads/2016/04/Searchicons-search-blogs-512-660x486.png 3x" alt="">
費氏搜尋(Fibonacci Search)演算法有點像是二元搜尋(Binary Search)演算法，同樣是在一個已排序好的陣列中搜尋元素，但是它在移動陣列索引值時是去參考費氏數列(Fibonacci Sequence)，而不是像二元搜尋法那樣總是去取索引的中間值。也由於費氏搜尋法在移動陣列索引值時只需要進行加減運算，不需乘、除法，因此它適合被用在不擅長處理乘、除法的CPU上。]]></description><category>研究分享</category><category>Java</category><category>Rust</category><category>演算法</category><category>Go</category><category>JavaScript</category><category>Java</category><category>JavaScript</category><category>Rust</category><category>搜尋演算法</category><category>二元搜尋</category><category>TypeScript</category><category>費氏數列</category><category>費氏搜尋</category><category>Go</category><guid>https://magiclen.org/fibonacci-search</guid><pubDate>Thu, 28 May 2020 12:00:15 +0800</pubDate><dc:creator>Magic Len</dc:creator></item><item><title>插補搜尋(Interpolation Search)演算法，運用資料近似線來輔助搜尋的演算法</title><link>https://magiclen.org/interpolation-search</link><description><![CDATA[    <img src="https://magiclen.org/wp-content/uploads/2016/04/Searchicons-search-blogs-512-220x162.png" srcset="https://magiclen.org/wp-content/uploads/2016/04/Searchicons-search-blogs-512-220x162.png 1x, https://magiclen.org/wp-content/uploads/2016/04/Searchicons-search-blogs-512-440x324.png 2x, https://magiclen.org/wp-content/uploads/2016/04/Searchicons-search-blogs-512-660x486.png 3x" alt="">
插補搜尋(Interpolation Search)演算法又稱為內插搜尋演算法，是二元搜尋(Binary Search)演算法的變體。這套演算法可以在已排序好的序列中根據資料的預測線或近似線來進行高效率的搜尋，近似線愈精準，搜尋的效率就愈高。]]></description><category>研究分享</category><category>Java</category><category>Rust</category><category>演算法</category><category>Go</category><category>JavaScript</category><category>Java</category><category>JavaScript</category><category>Rust</category><category>搜尋演算法</category><category>二元搜尋</category><category>插補搜尋</category><category>TypeScript</category><category>Go</category><guid>https://magiclen.org/interpolation-search</guid><pubDate>Sat, 18 May 2019 12:00:32 +0800</pubDate><dc:creator>Magic Len</dc:creator></item><item><title>指數搜尋(Exponential Search)演算法，搜尋目標在序列愈前面就愈快的演算法</title><link>https://magiclen.org/exponential-search</link><description><![CDATA[    <img src="https://magiclen.org/wp-content/uploads/2016/04/Searchicons-search-blogs-512-220x162.png" srcset="https://magiclen.org/wp-content/uploads/2016/04/Searchicons-search-blogs-512-220x162.png 1x, https://magiclen.org/wp-content/uploads/2016/04/Searchicons-search-blogs-512-440x324.png 2x, https://magiclen.org/wp-content/uploads/2016/04/Searchicons-search-blogs-512-660x486.png 3x" alt="">
指數搜尋(Exponential Search)演算法又稱為雙倍搜尋(Doubling Search)演算法或是蔓延搜尋(Galloping Search)演算法，是二元搜尋(Binary Search)演算法的變體。這套演算法可以在已排序好的序列中進行高效率的搜尋，要搜尋的元素在序列中愈前面的話，搜尋效能愈好。]]></description><category>研究分享</category><category>Java</category><category>Rust</category><category>演算法</category><category>Go</category><category>JavaScript</category><category>Java</category><category>JavaScript</category><category>Rust</category><category>搜尋演算法</category><category>二元搜尋</category><category>指數搜尋</category><category>TypeScript</category><category>Go</category><guid>https://magiclen.org/exponential-search</guid><pubDate>Thu, 16 May 2019 12:00:42 +0800</pubDate><dc:creator>Magic Len</dc:creator></item><item><title>二元搜尋(Binary Search)演算法，簡單又快速的搜尋演算法</title><link>https://magiclen.org/binary-search</link><description><![CDATA[    <img src="https://magiclen.org/wp-content/uploads/2016/04/Searchicons-search-blogs-512-220x162.png" srcset="https://magiclen.org/wp-content/uploads/2016/04/Searchicons-search-blogs-512-220x162.png 1x, https://magiclen.org/wp-content/uploads/2016/04/Searchicons-search-blogs-512-440x324.png 2x, https://magiclen.org/wp-content/uploads/2016/04/Searchicons-search-blogs-512-660x486.png 3x" alt="">
二元搜尋(Binary Search)演算法又稱為二分搜尋(Half-Interval Search)演算法或是對數搜尋(Logarithmic Search)演算法，顧名思義，這套演算法的核心思想就在於「二分」，可以在已排序好的序列中進行高效率的搜尋。]]></description><category>研究分享</category><category>Java</category><category>Rust</category><category>演算法</category><category>Go</category><category>JavaScript</category><category>Java</category><category>JavaScript</category><category>Rust</category><category>搜尋演算法</category><category>二元搜尋</category><category>TypeScript</category><category>Go</category><guid>https://magiclen.org/binary-search</guid><pubDate>Tue, 14 May 2019 12:00:35 +0800</pubDate><dc:creator>Magic Len</dc:creator></item></channel></rss>