數學、物理、化學、生物等基礎學科雖然對人類的生產生活貢獻很大,但並不是每個人每一天都會用到。另一些學科則與每個人的生活都有著密切的聯絡,但人們往往並沒有意識到。其中有三門學科尤其貼近人們的生活:經濟學、統計學和資訊學。這三門學科從不同的角度解析生活中的種種現象,代表了三種不同的科學思維方式,是人生中的三門必修課。很可惜,並不是所有人都有機會一睹這三門學科的風采,即使理解它們並不需要太多的基礎知識。
我很高興地看到,最近市面上出現了一些與統計學和經濟學相關的普及讀物。它們以淺顯易懂的文字向讀者揭示事物背後的科學道理,讓每個人都有機會領略到統計學和經濟學的魅力。但是,我目前還沒找到任何一本與資訊學相關的普及讀物。於是,我萌生了自己寫一本資訊學普及讀物的念頭。我想把自己近幾年來對演算法的感悟寫下來,讓越來越多的人體會到演算法的科學性、趣味性和實用價值。
這裡特別要感謝周筠老師和徐定翔老師,是你們的支援和鼓勵才讓我真正下定了寫書的決心。當然,還要感謝長期支援這個**的網友們。在以後的寫作過程中,我可能會有償向大家徵集好的建議和主意,希望能夠靠眾人的力量收穫最巧妙、最有趣、具原創性的點子。
引言 什麼是演算法第一章 貪心演算法
第一節 最合理的排隊順序
第二節 最合理的合併順序
第三節 尋找正確的貪心演算法
第四節 貪心演算法的應用
第二章 組合遊戲的必勝策略
第一節 報30遊戲及其加強版
第二節 平等對弈遊戲
第三節 尋找必勝策略
第四節 策略竊取
第五節 其它對弈遊戲
第三章 進製
第一節 另類的計數法
第二節 神奇的二進位制
第三節 進製的應用
第四章 編碼理論
第一節 編碼系統
第二節 壓縮演算法
第三節 檢錯糾錯碼
第五章 密碼學
第一節 早期的加密術與破密術
第二節 各種匪夷所思的密碼
第三節 傳統加密術的瓦解
第四節 神奇的數論
第五節 金鑰的交換
第六節 中間人攻擊
第七節 另類的密碼協議
第八節 密碼學的應用
第六章 黑匣子測試
第一節 二分法
第二節 **分割
第三節 優選法
第四節 遞迴法
第五節 其它黑匣子問題
第七章 遞迴與遞推
第一節 漢諾塔與九連環
第二節 遞迴法的應用
第三節 神秘的斐波那契數列
第四節 遞推計數的應用
第八章 測一測你的演算法思維
計畫與總結的寫作
一 計畫的寫作 計畫是單位或個人對未來一定時間內要做的工作從目標 任務 要求到措施預先作出設計安排的事務性文書。一 計畫的種類 從性質 內容 時間等角度可劃分出不同種類的計畫。從形式分有以下三種 檔案式計畫,分目標 要求 措施 步驟等環節,寫作嚴謹具體,內容重大並有一定篇幅 條文式計畫,以列出任務為...
生活中的演算法
前言 最近學了一些演算法的知識寫一篇小小的總結。關於演算法我的理解就是,解決問題的方法,通過不同的演算法,有不同的解決問題的簡便方式,從各個方面優化,解決問題的方式。題外話 變數 變數是乙個空間,有很多的未知可以去存放不同的資料,但是變數是乙個可以準過任何資料的空間,不是乙個數來回的變動。內容 遊戲...
開啟我的部落格寫作生活
這幾天,決定開始寫部落格,這是第一篇,寫點什麼呢?乾脆就來說說為什麼寫部落格吧。常常有些雜亂的思緒,卻不知從何說起,有不少想法,卻形成不了文章。借部落格來訓練寫作能力,提高邏輯歸納能力,不失為一種不錯的方式。以前讀中小學的時候,常聽說一句話 學好數理化,走遍天下都不怕 大家都認為理科很重要,理科學的...