《像程式設計師一樣思考(修訂版)》是2015年5月出版的圖書,作者是V.Anton Spraul。
基本介紹
- 書名:像程式設計師一樣思考(修訂版)
- 作者:[美] V.Anton Spraul
- ISBN:978-7-115-38339-6
- 出版時間:2015-05
圖書簡介,目錄,
圖書簡介
全書分為8章。第1章通對幾個經典的算法問題切入,概括了問題解決的基本技巧和步驟。第2章通過實際編寫C++代碼來解決幾個簡單的問題,從而讓讀者進一步體會到問題解決的思路和套用。第3到7章是本書的主體部分,分別探討了用數組、指針和動態記憶體,類、遞歸和代碼復用來解決問題的途徑和實際套用。最後,第8章從培養程式設計師思維的角度,進行了總結和概括,告訴讀者如何才能像程式設計師一樣思考。
目錄
第 1章 解決問題的策略 1
1.1 經典難題 2
1.1.1 狐狸、鵝和玉米 3
1.1.2 瓷磚滑塊問題 7
1.1.3 數獨 11
1.1.4 Quarrasi鎖 13
1.2 基本的問題解決技巧 16
1.2.1 總是要制訂計畫 16
1.2.2 重新陳述問題 17
1.2.3 劃分問題 18
1.2.4 從自己所知的開始 19
1.2.5 削減問題 20
1.2.6 尋找類比 21
1.2.7 試驗 21
1.2.8 避免陷入挫折感 22
1.3 習題 23
第 2章 純粹的難題 25
2.1 本章所使用的C++簡述 25
2.2 輸出圖案 26
2.3 輸入處理 31
2.4 追蹤狀態 42
2.5 結論 55
2.6 習題 55
第3章 用數組解決問題 59
3.1 數組基礎知識概述 60
3.2 用數組解決問題 66
3.3 固定數據的數組 71
3.4 非標量數組 73
3.5 多維數組 75
3.6 決定什麼時候使用數組 78
3.7 習題 82
第4章 用指針和動態記憶體解決問題 85
4.1 指針基礎知識回顧 86
4.2 指針的優點 87
4.2.1 運行時確定長度的數據結構 87
4.2.2 可改變長度的數據結構 87
4.2.3 記憶體共享 88
4.3 什麼時候使用指針 89
4.4 記憶體細節 90
4.4.1 堆疊和堆 90
4.4.2 記憶體的大小 93
4.4.3 生命期 94
4.5 解決指針問題 95
4.5.1 可變長度的字元串 95
4.5.2 鍊表 105
4.6 結論和未來的步驟 113
4.7 習題 114
第5章 用類解決問題 117
5.1 類的基礎知識回顧 118
5.2 使用類的目的 119
5.2.1 封裝 120
5.2.2 代碼的復用 120
5.2.3 問題的細分 121
5.2.4 信息隱藏 121
5.2.5 可讀性 123
5.2.6 表達能力 123
5.3 創建一個簡單的類 124
5.3.1 問題:班級花名冊 124
5.3.2 基本的類框架 125
5.3.3 支持方法 129
5.4 具有動態數據的類 132
5.5 需要避免的錯誤 147
5.5.1 假類 147
5.5.2 單功能 148
5.6 習題 148
第6章 用遞歸解決問題 151
6.1 遞歸基礎知識回顧 151
6.2 頭遞歸和尾遞歸 152
6.3 大遞歸思路 160
6.4 常見的錯誤 163
6.4.1 過多的參數 164
6.4.2 全局變數 165
6.5 把遞歸套用於動態數據結構 166
6.5.1 遞歸和鍊表 167
6.5.2 遞歸和二叉樹 169
6.6 包裝器函式 172
6.7 什麼時候選擇遞歸 175
6.8 習題 179
第7章 通過代碼復用解決問題 181
7.1 良好的復用和不良的復用 182
7.2 組件基礎知識回顧 183
7.3 創建組件的基礎知識 186
7.3.1 探索式學習 186
7.3.2 根據需要學習 190
7.4 選擇組件類型 198
7.5 習題 204
第8章 培養程式設計師的思維 207
8.1 創建自己的總體計畫 207
8.1.1 揚長避短 208
8.1.2 制訂總體計畫 214
8.2 處理任何問題 215
8.2.1 問題:絞型者作弊程式 216
8.2.2 尋找作弊方法 217
8.2.3 絞型者作弊所需要的操作 218