編輯推薦
《程序員的數學思維修煉(趣味解讀)》 持續熱銷,一年4次印刷!一本專門為程序員而寫的數學書,訓練數學思維,增強職場競爭力
書中沒有羅列晦澀難懂的數學公式和推導,而是代之以生動有趣的數學實例
讀者不必精通高深的數學知識,隻需要具備四則運算和基本的邏輯思維即可閱讀
趣談110個數學實例,並給齣瞭33個具體的程序代碼實現
內容通俗易懂,講解娓娓道來,風格活潑自然,版式新穎,讀來親切自然
《妙趣橫生的算法(C語言實現)第2版》 算法入門經典熱銷書全新升級,第1版圖書被大量信息學競賽學員作為學習教材
5.5小時教學視頻、114個經典算法題、61個算法麵試題和4個ACM競賽題
幫您開闊眼界,培養編程興趣,提高編程能力,增強求職競爭力
提供瞭5.5小時算法入門專題教學視頻,學習起來比較直觀
提供瞭28個數據結構及算法基礎知識實例,便於讀者入門
提供瞭86個經典、有趣、貼近生活、實用性強的算法實例
提供瞭61個算法及數據結構麵試題,增強求職者的競爭力
提供瞭4個經典的ACM程序設計競賽題目,便於讀者瞭解
書中的所有實例用C語言實現,便於讀者驗證和加深對C語言的理解
既涵蓋瞭算法的基本理論知識,又包含瞭大量實例,寓理論於實踐之中
海報:
內容簡介
《程序員的數學思維修煉(趣味解讀)》 《程序員的數學思維修煉(趣味解讀)》是一本專門為程序員而寫的數學書,介紹瞭程序設計中常用的數學知識。本書門檻不高,不需要讀者精通很多高深的數學知識,隻需要讀者具備基本的四則運算、乘方等數學基礎知識和日常生活中的基本邏輯判斷能力即可。本書拒絕枯燥乏味的講解,而是代之以輕鬆活潑的風格。書中列舉瞭大量讀者都很熟悉,而且非常有趣的數學實例,並結閤程序設計的思維和算法加以剖析,可以訓練讀者的數學思維能力和程序設計能力,進而拓寬讀者的視野,增強職場競爭力。
《程序員的數學思維修煉(趣味解讀)》共11章,分彆介紹瞭數據的錶示、神奇的素數、遞歸、排列組閤、用餘數進行數據分組、概率、復利、數理邏輯、推理、幾何圖形構造、統籌規劃等程序設計中常用的數學知識,從而引導讀者深入理解編程中的數學方法和思路。本書包含的實例有結繩記事、孿生素數、梅森素數、哥德巴赫猜想、階乘、漢諾塔、斐波那契數列、乘法原理、加法原理、字符編碼、密碼長度、日曆中的數學、心靈感應魔術、約瑟夫環、智叟分牛、百枚錢幣鼓士氣、莊傢的勝率、中奬概率、用概率方法求π值、復利的威力、對摺紙張、捨罕王的賞賜、三段論、選言推理、假言推理、關係推理、花盆擺放、殘缺棋盤、丟失的綫條、田忌賽馬、背包問題等。
《程序員的數學思維修煉(趣味解讀)》適閤廣大程序設計人員及數學愛好者閱讀,尤其適閤有一定程序設計經驗,但還需要進一步加深對程序設計理解的人員閱讀。本書對IT求職人員、信息學競賽和大學生程序設計競賽等參賽學員也有很好的參考價值。
《妙趣橫生的算法(C語言實現)第2版》 《妙趣橫生的算法(C語言實現 第2版)》是深受廣大讀者好評的《妙趣橫生的算法(C語言實現)》一書的全新升級版。本書在第1版的基礎上對原書內容做瞭大量的調整和補充,並將書中的實例代碼在Visual Studio 2010環境下重新編譯通過,以適應當前技術的發展和閱讀需求。本書內容涵蓋瞭算法入門的必備基礎知識和大量的趣味算法題、麵試題和ACM競賽題等。通過學習本書內容,可以開闊讀者的視野,幫助讀者理解算法,提高編程興趣和能力,並提高C語言編程能力,還可以讓讀者瞭解IT麵試中的常見算法題及編程競賽中的相關知識。另外,本書提供瞭5.5小時配套教學視頻和實例源代碼,以提高讀者的學習效率。
本書共11章,分2篇。第1篇為算法基礎,包括數據結構基礎知識(8個趣題)、常用的查找與排序方法(9個趣題)、常用的算法思想(11個趣題)。第2篇為常用算法實例解析,包括20個編程基本功趣題、39個數學趣題、14個數據結構趣題、7個數值計算趣題、6個綜閤題、61個算法設計與數據結構麵試題、4個ACM程序設計競賽題目。
本書適閤學習算法的人員作為入門教程,也適閤有C語言基礎的人作為編程實踐讀物,還可作為有編程經驗的程序員查閱相關算法實現和數據結構知識的參考書。另外,本書也可以為那些準備參加IT麵試和信息學競賽的讀者提供有益的幫助。
本書贈送的教學視頻內容
數據結構專題(36分鍾)
查找和排序算法專題(75分鍾)
常用算法專題(63分鍾)
重點編程實例解析專題(89分鍾)
重點麵試題解析專題(65分鍾)
作者簡介
周穎,畢業於電子科技大學。高級程序員、某軟件公司的技術總監。擅長C和C++語言,對數據結構和算法有深入的研究。長期從事行業軟件設計和團隊管理工作,已十年有餘。有著豐富的IT架構設計經驗和行業谘詢經驗。負責過多個大型軟件項目的開發工作。
楊峰,目前就職於中國石化信息技術培訓中心,主要負責ERP係統的底層數據交換業務。有近10年的C語言開發經驗。曾經參與過基於內容的圖像檢索係統、圖書館信息管理係統、基於ARM的嵌入式密碼係統和基於VHDL的硬件時鍾設備等。齣版過兩部C語言圖書。
精彩書評
★本書與專業的數學書籍不同,意在啓發程序設計人員的思維。書中沒有大篇幅的理論和公式推導,這使得本書簡單易懂。而且書中各章節的內容與現實生活緊密結閤,閱讀起來趣味橫生。推薦給對程序設計感興趣的人員,一定大有裨益。
——深圳亞鼎科技有限公司信息係統部總監 方擎
★這是一本為程序員朋友們寫的數學書,淺顯易懂,適閤入門。閱讀者不需要掌握高深的數學知識,具有初中數學知識就可以讀懂本書。書中介紹瞭編程中常用的數學知識,藉以培養初級程序員的數學思維。
——IBM中國商業價值研究院高級分析師 劉京華
★雖然我自己不是程序員,但是我覺得即使不打算往程序員方嚮發展的人,也可以從這本書中獲得很多思維模式上的幫助。書中的內容相當生動形象,而且是用非常淺顯易懂的語言來講解。書中介紹的數學知識也與我們的生活息息相關,這使得本書內容非常容易理解。
——麥肯锡管理谘詢公司上海分公司資深董事 David
★本書不是一本數學教科書,不必逐章順序閱讀,不妨當作“枕邊書”不時拿起來翻翻,定能受到啓發。很多時候,有些東西我們一開始並沒什麼感覺或興趣,但當它和我們的生活或工作有關聯時,忽然覺得大有新意。本書就是如此,對於學習編程的人而言,真的會有很多意想不到的思維上的啓發。
——東冉科技股份有限公司首席架構師 郭鋒
目錄
《程序員的數學思維修煉(趣味解讀)》第1章 數據的錶示
1.1 一則童話
1.1.1 0和1的故事
1.1.2 0是什麼都沒有?
1.1.3 0的位置
1.1.4 程序中的
1.2 司空見慣的十進製數
1.2.1 遠古的結繩記事
1.2.2 什麼是十進製計數
1.2.3 為啥人類習慣十進製
1.2.4 十進製運算規則
1.2.5 十進製數的分解
1.2.6 20!等於多少
1.2.7 大整數構想
1.3 為啥要用二進製
1.3.1 人腦與電腦
1.3.2 二進製計數規則
1.3.3 簡單的二進製運算規則
1.3.4 二進製數的分解
1.3.5 十進製數轉換為二進製數
1.4 還有哪些進製
1.4.1 神奇的八卦:八進製
1.4.2 鍾錶使用的十二進製
1.4.3 半斤八兩:十六進製
1.4.4 60年一個甲子:六十進製
1.4.5 各種進製之間的轉換
1.4.6 二進製與八進製、十六進製的轉換
第2章 神奇的素數
2.1 怎麼判斷素數
2.1.1 什麼是素數
2.1.2 驗證素數
2.1.3 尋找素數的算法
2.1.4 已被證明的素數定理
2.2 孿生素數
2.2.1 什麼是孿生素數
2.2.2 孿生素數的公式
2.2.3 中國剩餘定理
2.2.4 孿生素數分布情況
2.3 使用素數的RSA算法
2.3.1 什麼是RSA
2.3.2 RSA算法基礎
2.3.3 RSA算法實踐
2.3.4 RSA應用:數字簽名
2.3.5 RSA被破解的可能性
2.4 哥德巴赫猜想
2.4.1 哥德巴赫猜想是什麼
2.4.2 數值驗證
2.5 梅森素數
2.5.1 什麼是梅森素數
2.5.2 已知的梅森素數列錶
第3章 遞歸——自己調用自己
3.1 從前有座山,山裏有座廟
3.1.1 老和尚講的故事
3.1.2 德羅斯特效應
3.1.3 什麼是遞歸
3.1.4 用遞歸能解決哪些問題
3.1.5 一個簡單例子:求最大公約數
3.2 用遞歸計算階乘
3.2.1 階乘該怎麼計算
3.2.2 階乘的遞歸計算方法
3.2.3 遞歸的過程
3.2.4 遞歸的本質:縮小問題規模
3.3 漢諾塔
3.3.1 古老的傳說
3.3.2 從兩個盤考慮
3.3.3 找齣遞歸結構
3.3.4 實現程序
3.3.5 究竟需要移動多少次
3.4 斐波那契數列
3.4.1 兔子的傢族
3.4.2 從最初幾月數據中找規律
3.4.3 斐波那契數列
3.4.4 神奇的魔八方
第4章 排列組閤——讓數選邊站隊
4.1 把所有情況都列齣來
4.1.1 從0還是1開始
4.1.2 賽程安排
4.2 乘法原理
4.2.1 行程安排的問題
4.2.2 乘法原理適用條件
4.2.3 棋盤上棋子的放法
4.2.4 買彩票保證中奬的方法
4.3 加法原理
4.3.1 仍然是行程問題
4.3.2 總結齣的加法原理
4.3.3 骰子齣現偶數的次數
4.4 排列與組閤的關係
4.4.1 排列
4.4.2 組閤
4.4.3 排列與組閤的聯係
4.4.4 可重排列
4.5 計算機中的字符編碼
4.5.1 ASCII碼能錶示的字符數量
4.5.2 能錶示更大範圍的編碼
4.6 密碼的長度
4.6.1 容易破解的密碼
4.6.2 多長的密碼纔安全
4.6.3 密碼中使用的字符數量也很關鍵
第5章 餘數——數據分組
5.1 復習小學的餘數
5.1.1 自然數的餘數
5.1.2 餘數的性質
5.1.3 用餘數進行分組
5.2 日曆中的數學
5.2.1 n天後是星期幾
5.2.2 下月的今天是星期幾
5.2.3 10年後的“今天”是星期幾
5.3 心靈感應魔術
5.3.1 一個小魔術
5.3.2 魔術師是怎麼猜齣來的
5.4 奇偶校驗
5.4.1 不可靠的網絡傳輸
5.4.2 用奇偶校驗檢查錯誤
5.5 呂洞賓不能坐首位
5.5.1 座位安排
5.5.2 試排座位找規律
5.5.3 西方的約瑟夫環
5.5.4 用數學方法解約瑟夫環
5.6 智叟分牛
5.6.1 遺産分配難題
5.6.2 智叟給齣的分配方案
5.6.3 分配原理
第6章 概率——你運氣好嗎
6.1 初中學習過的概率
6.1.1 誰先開球
6.1.2 用程序模擬拋硬幣
6.1.3 什麼是概率
6.1.4 必然事件與不可能事件
6.1.5 概率的基本性質
6.2 百枚錢幣鼓士氣
6.2.1 狄青的計謀
6.2.2 全為正麵的概率是多少
6.2.3 必然還是偶然
6.3 莊傢的勝率是多少
6.3.1 一個看似公平的遊戲
6.3.2 莊傢能贏錢嗎
6.3.3 莊傢盈利比率
6.3.4 遊戲參與者獲勝的概率
6.4 你能中奬嗎
6.4.1 想中大奬嗎
6.4.2 計算中奬概率
6.5 漁塘中有多少條魚
6.5.1 該怎麼估算漁塘中的魚
6.5.2 用概率來估算
6.5.3 用概率方法求π值
第7章 翻一番是多少
7.1 翻番的概念
7.1.1 什麼是翻番
7.1.2 翻倍的概念
7.1.3 計算倍數和番數
7.2 復利的威力
7.2.1 利潤——投資迴報
7.2.2 認識單利
7.2.3 認識復利
7.2.4 計算投資迴報的程序
7.2.5 忘還錢的信用卡
7.2.6 愛因斯坦的72法則
7.3 對摺紙張
7.3.1 有趣的問題:紙張對摺
7.3.2 100米長的紙能對摺幾次
7.3.3 計算對摺次數的程序
7.4 一棋盤的麥子
7.4.1 捨罕王的賞賜
7.4.2 需要多少麥粒
7.5 摺半法的運用
7.5.1 翻番的逆運算
7.5.2 找齣假硬幣
7.5.3 編寫程序找齣假硬幣
7.5.4 摺半法在查找中的應用
第8章 數理邏輯——非此即彼
8.1 邏輯的重要性
8.1.1 模棱兩可的錶述
8.1.2 肯定或否定
8.1.3 程序中的邏輯判斷
8.2 命題邏輯
8.2.1 什麼是命題
8.2.2 命題的邏輯形式
8.2.3 簡單命題
8.2.4 復閤命題
8.2.5 復閤命題的聯結詞
8.3 布爾邏輯
8.3.1 邏輯或
8.3.2 邏輯與
8.3.3 邏輯非
8.3.4 邏輯異或
8.3.5 二進製位運算
8.4 考慮到各種可能瞭嗎
8.4.1 邏輯重疊的實例
8.4.2 邏輯遺漏的實例
8.4.3 用數軸確定邊界
8.5 用卡諾圖簡化邏輯函數
8.5.1 什麼是卡諾圖
8.5.2 三變量卡諾圖
8.5.3 四變量卡諾圖
8.5.4 卡諾圖化簡
8.5.5 卡諾圖中的相鄰
第9章 推理——邏輯的應用
9.1 演繹推理
9.1.1 認識演繹推理點
9.1.2 三段論
9.1.3 選言推理
9.1.4 假言推理
9.1.5 關係推理
9.1.6 演繹推理綜閤實例
9.2 歸納推理
9.2.1 什麼是歸納推理
9.2.2 完全歸納推理
9.2.3 不完全歸納推理
9.3 足球比賽的得分
9.3.1 粗心的記分員
9.3.2 從已有數據推算齣比分
第10章 幾何圖形構造
10.1 花盆擺放問題
10.1.1 10盆花擺成5行,每行4盆
10.1.2 轉變思路,找齣答案
10.1.3 升級問題(10盆花擺10行,每行3盆)
10.2 殘缺的棋盤能補上嗎?
10.2.1 被切割的棋盤
10.2.2 能拼接齣殘缺棋盤嗎
10.3 綫條哪裏去瞭?
10.3.1 神奇的魔術
10.3.2 解析丟失的綫條
10.4 圖形剪拼
10.4.1 均分三角形
10.4.2 拼接正方形
第11章 統籌規劃
11.1 認識統籌規劃
11.1.1 田忌賽馬
11.1.2 為什麼會贏
11.2 生活中的統籌規劃
11.2.1 匆忙的早晨
11.2.2 如何節約運輸成本
11.3 著名的背包問題
11.3.1 什麼是背包問題
11.3.2 用遞歸程序解決背包問題
11.3.3 用窮舉法解決背包問題
《妙趣橫生的算法(C語言實現)第2版》第1篇 算法基礎
第1章 數據結構基礎
1.1 什麼是數據結構
1.2 順序錶
1.2.1 順序錶的定義
1.2.2 嚮順序錶中插入元素
1.2.3 從順序錶中刪除元素
1.2.4 實例與分析
1.3 鏈錶
1.3.1 創建一個鏈錶
1.3.2 嚮鏈錶中插入結點
1.3.3 從鏈錶中刪除結點
1.3.4 銷毀一個鏈錶
1.3.5 實例與分析
1.4 棧
1.4.1 棧的定義
1.4.2 創建一個棧
1.4.3 入棧操作
1.4.4 齣棧操作
1.4.5 棧的其他操作
1.4.6 實例與分析
1.5 隊列
1.5.1 隊列的定義
1.5.2 創建一個隊列
1.5.3 入隊列操作
1.5.4 齣隊列操作
1.5.5 銷毀一個隊列
1.5.6 循環隊列的概念
1.5.7 循環隊列的實現
1.5.8 實例與分析
1.6 樹結構
1.6.1 樹的概念
1.6.2 樹結構的計算機存儲形式
1.6.3 二叉樹的定義
1.6.4 二叉樹的遍曆
1.6.5 創建二叉樹
1.6.6 實例與分析
1.7 圖結構
1.7.1 圖的概念
1.7.2 圖的存儲形式
1.7.3 鄰接錶的定義
1.7.4 圖的創建
1.7.5 圖的遍曆(1)——深度優先搜索
1.7.6 圖的遍曆(2)——廣度優先搜索
1.7.7 實例與分析
1.8 章後習題
第2章 常用的查找與排序方法
2.1 順序查找
2.2 摺半查找
2.3 排序的概述
2.4 直接插入排序
2.5 選擇排序
2.6 冒泡排序
2.7 希爾排序
2.8 快速排序
2.9 堆排序
2.10 各種排序算法性能比較
2.11 章後習題
第3章 常用的算法思想
3.1 什麼是算法
3.2 算法的分類錶示及測評
3.2.1 算法的分類
3.2.2 算法的錶示
3.2.3 算法性能的測評
3.3 窮舉法思想
3.3.1 基本概念
3.3.2 尋找給定區間的素數
3.3.3 TOM的藉書方案
3.4 遞歸與分治思想
3.4.1 基本概念
3.4.2 計算整數的劃分數
3.4.3 遞歸的摺半查找算法
3.5 貪心算法思想
3.5.1 基本概念
3.5.2 最優裝船問題
3.6 迴溯法
3.6.1 基本概念
3.6.2 四皇後問題求解
3.7 數值概率算法
3.7.1 基本概念
3.7.2 計算定積分
3.8 章後習題
第2篇 常用算法實例解析
第4章 編程基本功
4.1 字符類型統計器
4.2 計算字符的ASCII碼
4.3 嵌套if-else語句的妙用
4.4 基於switch語句的譯碼器
4.5 判斷閏年
4.6 指針變量作
程序員的數學思維修煉+妙趣橫生的算法(套裝共2冊) epub pdf mobi txt 電子書 下載 2024
程序員的數學思維修煉+妙趣橫生的算法(套裝共2冊) 下載 epub mobi pdf txt 電子書