2018年3月27日 星期二

"培養與鍛鍊程式設計的邏輯腦"讀後感--程式設計大賽的敲門磚

培養與鍛鍊程式設計的邏輯腦
培養與鍛鍊程式設計的邏輯腦


培養與鍛鍊程式設計的邏輯腦的作者是江任捷,同時也是「演算法筆記」版主

演算法真的是一門讓人又愛又恨的學問啊!目前讓我只有恨沒有愛的應該是離散數學......
會讀這本書要感謝清大資工女神駱若瑀(現在是台大資工所的神),是她讓我踏進演算法這個有趣的領域(地獄),在此感謝祝福她能夠順利畢業。
本書提供了基礎的十種演算法,諸如貪婪演算法、窮舉法、遞增遞歸、分治法等,以十個章節分別介紹,每個章節中皆有大量的範例,可以直接讓讀者體會這些演算法的運用方式。以下簡單介紹幾個:
遞增法Incremental Method:一個一個步驟處理問題
記憶法Memoization:預處理,然後儲存計算過的數值,活用電腦裡的每一份資源
窮舉法Enumerative Method:窮舉法有兩個階段,窮舉(列出所有目標),然後搜尋
遞推法Interative Method:運用先前求得的數值,在求新的數值
遞歸法Recursive Method:重複運用相同手法,縮減問題範圍,直到釐清細節
貪婪法 Greedy Method:用投機取巧的手段獲得正確答案,例如填答案及改答案
分治法Divide and Conquer:分割問題,各個擊破


遞歸法
遞歸法

 演算法不只可以用在程式設計,更可以當作解決各種問題的想法,如分治法,是將一個大問題分割成許多小問題,如果小問題還是很難,再繼續分割成更小的問題,分割問題,各個擊破。「凡治眾如治寡,分數是也;鬥眾如鬥寡,形名是也」-孫子。 程式語言不只是死板板的數字,也是一個鍛鍊思維的工具,學程式語言將近十年,無形之中我也練就了良好的邏輯,跟解決問題的能力。只要具備基本的概念,藉由此書,可以讓你的能力更上一層樓。




沒有留言:

張貼留言

經濟日報數位訂閱懶人包

  去年寫過一篇介紹文,經濟日報推出了數位訂閱產品,如果你是價值投資者,或是對產業研究及經濟數據有興趣的朋友,包含深耕國內外財經深度內容、圖像式產業資料庫、早安經濟日報聽新聞等等。   目前有「彭博新聞獨家聯名、七大外媒授權合作、專家解析深度專欄」三大內容,豐富你的關鍵投...