如何將遞迴函數改成迭代函數? 2020 年 6 月 11 日 Magic Len 研究分享、 Go、 Java、 NodeJS、 Rust 遞迴(Recursive)函數是在執行的過程又會直接或間接地呼叫自己本身的函數。通常透過遞迴函數可以快速地驗證我們的演算法,用簡短的程式碼處理複雜的問題,但是函數在呼叫時需要建立新的堆疊框(Stack Frame),除了會需要額外的開支(Overhead)之外,如果在函數中呼叫函數,而這函數又會呼叫函數,持續下去,很容易就會造成堆疊溢出(Stack Overflow)。雖然有些程式語言的編譯器會做... 繼續閱讀
二元搜尋(Binary Search)演算法,簡單又快速的搜尋演算法 2019 年 5 月 14 日 Magic Len 研究分享、 Go、 Java、 NodeJS、 Rust、 演算法 二元搜尋(Binary Search)演算法又稱為二分搜尋(Half-Interval Search)演算法或是對數搜尋(Logarithmic Search)演算法,顧名思義,這套演算法的核心思想就在於「二分」,可以在已排序好的序列中進行高效率的搜尋。 繼續閱讀