狂徒
2024-08-13 00:32

今天我介紹的這本《演算法 圖解原理 x Python實作 x 創意應用》,適合對演算法入門有興趣的讀者朋友。
󠀠
演算法的用處在於「加速」一系列步驟,讓時間和算力成本降低。
對於複雜的系統而言,加入演算法這個環節,看似造成額外的運行負擔,實際上卻往往能優化整體的性能。
󠀠
舉個例子,想走完一個「迷宮」有很多種方法,妳可以亂繞或碰運氣,也可以依照不同演算法執行。
然而當妳遇到的迷宮越來越大時,演算法的優勢就會更明顯。
󠀠
另一個例子就是「背包問題」,假設妳抽中了百貨公司的搬家獎,一次能拿完的物品全部免費,那妳要怎麼安排,才能讓總價值最高?
這不是個簡單的問題,可能拿了音響就拿不走筆電,拿了兩台筆電就裝不下電視......這時候演算法又顯得重要了。
󠀠
這本書結合了概念講解、程式、表格、例題,難度對入門者算友善。
妳可以按照範例打程式,也可以乾脆用出版社網站的程式碼重現書中的算法。
󠀠
在金融領域,最常用到的演算法不外乎快速定價和組合最優化。
第16章的動態規劃(DP),就屬於金融最優化方法常用的一支。
它是始於七十年前的產物,運用分成小階段和前後遞歸(recurring)來運算,也能結合隨機的元素。
書中提到的簡單範例,讓妳能知道什麼是「正確但耗時」的演算法和動態規劃演算法。
󠀠
第18章的面試經典題也有意思,包括質數、回文、web page ranking...都是常遇到的狀況。
運用Python,妳也可以依照前面學到的演算法思路,優雅而迅速的解決日常問題。
換句話說,在最底層的code和最上層的題目之間,使用適當的演算法可以幫妳減少寫程式的工作量,同時也節省實際運行時的成本。
󠀠
所以這本書適合妳嗎?
它沒有教科書的數學公式和證明,想了解演算法又不想讀英文的朋友可以安心服用。
世界上沒有最好的演算法,只有當下工作最適合的演算法。
書中列舉了許多算法和案例,提供讀者具體的使用方法和面對問題時的靈感。
畢竟一個問題可以有多種解法,有時候甚至會誤打誤撞,所以在確定基本功正確的同時,創意也很重要。
想要系統化解決問題的讀者,不妨翻閱此書並依照內容練習。
󠀠
購書連結:https://reurl.cc/dy0GeV

← 前幾天我和一些朋友聚餐,討論到財務目標,言談之間冒出一個「有挑戰性」的數字。[伴侶金錢觀] →