《演算法的樂趣》,快樂學習演算法,學習貼近生活的演算法
演算法最適合學習階段是在工作期間,但是學生時代也會要求開這一門課程,枯燥、乏味是上課時的感受,在大學期間有著一本書學演算法就夠了。
全書程式碼用C語言書寫,相對來說受眾面不太寬闊,現在學習Java等語言的程式設計師並不比C語言少,若是使用虛擬碼來描述也許更好。不過《演算法的樂趣》 給出詳細的步驟、思路和通用思想,更加抓住了演算法的要點。《演算法的樂趣》在開始的部分簡單講述了一下資料結構,之後是針對各個經典演算法問題,進行的分析和講解。很貼切的匹配了本書的名字“樂趣”,確實是幫助你學習演算法的好書。之前也看過《演算法導論》,和本書比起來,就顯得比較深奧、晦澀,而且沒有生氣,想要堅持讀下去,需要很大的恆心和耐力。對於沒有學過資料結構的同學,建議看這本書是,配合資料結構一起看,特別是在開始的時候,會比較有感覺,比較輕鬆一點。《演算法的樂趣》從思路出發,兼具思想,以一個生活中常見的例子(真正做到演算法改變生活)來講解演算法。
這裡就舉書裡的一個例子。
Gale-Shapley 演算法即“求婚-拒絕演算法”(propose-and-reject algorithm),以舞伴問題的整個求解過程來看,女孩從接受第一個邀請開始就有了舞伴,並且舞伴會越來越好,因為女孩可以根據自己的排序表確定是否選擇更好的舞伴。與此同時,男孩如果被拒絕,他的選擇物件會越來越差(因為男孩是根據自己的排序表從好到差開始選擇的)。然而實際情況卻並不是這樣的,Gale-Shapley 演算法中“求婚”的一方總是以最佳可能的穩定崗匹配結束,被“求婚”的一方總是以最差可能的穩定匹配結束,因為選擇的主動權掌握在“求婚”者手中。現實生活中的道理也是如此,婚姻中男人如果不主動爭取,條件好的女孩就會投入別人的懷抱,留給自己的機會就越來越差。學校裡那些勇氣可嘉、敢於主動示愛的男生,據說都是學過Gale-Shapley 演算法的,不信你問問他們。
好好學習演算法吧,這關係到人生大事啊!
相關文章
- 機器學習演算法之K近鄰演算法機器學習演算法
- K近鄰演算法:機器學習萌新必學演算法演算法機器學習
- 機器學習——KNN近鄰演算法機器學習KNN演算法
- 機器學習——K近鄰演算法機器學習演算法
- 機器學習演算法——kNN(k-近鄰演算法)機器學習演算法KNN
- 面向深度學習的快取替換演算法深度學習快取演算法
- 機器學習-K近鄰演算法-KNN機器學習演算法KNN
- 演算法學習演算法
- 機器學習-11-k近鄰演算法機器學習演算法
- 加密演算法學習加密演算法
- Gusfield演算法學習演算法
- TLD演算法學習演算法
- 演算法學習指南演算法
- 演算法學習思路演算法
- 演算法學習筆記:Kosaraju演算法演算法筆記
- 演算法學習 - 基礎排序演算法演算法排序
- 用定租問題學透機器學習的K近鄰演算法機器學習演算法
- 【機器學習】機器學習建立演算法第2篇:K-近鄰演算法【附程式碼文件】機器學習演算法
- 怎樣快樂學習C語言C語言
- 機器學習演算法學習筆記機器學習演算法筆記
- 學習如何學習的演算法:簡述元學習研究方向現狀演算法
- 【演算法學習】莫隊演算法
- 演算法學習-CDQ分治演算法
- RSA演算法之學習演算法
- 【演算法學習】尺取法演算法
- 演算法學習筆記演算法筆記
- 演算法學習計劃演算法
- Python_演算法學習Python演算法
- python學習演算法(1)Python演算法
- 機器學習演算法機器學習演算法
- 演算法學習筆記(3.1): ST演算法演算法筆記
- python機器學習演算法——KNN演算法Python機器學習演算法KNN
- 【演算法學習】組合數學演算法
- 一個演算法工程師的學習演算法工程師
- 機器學習實戰筆記-k近鄰演算法機器學習筆記演算法
- Python遷移學習:機器學習演算法Python遷移學習機器學習演算法
- 如何學習和利用深度學習演算法框架深度學習演算法框架
- 啃論文俱樂部 | 壓縮演算法團隊:我們是如何開展對壓縮演算法的學習研究演算法
- 三個水桶等分8升水的問題 -《演算法的樂趣》演算法