算法筆記上機訓練實戰指南

算法筆記上機訓練實戰指南

《算法筆記上機訓練實戰指南》是《算法筆記》 的配套習題集,內容按照《算法筆記》的章節順序進行編排,其中整理歸類了PAT甲級、乙級共150多道題的詳細題解,大部分題解均編有題意、樣例解釋、思路、注意點、參考代碼,且代碼中包含了詳細的注釋。讀者可以通過本書對《算法筆記》的知識點進行更深入的學習和理解。書中印有大量二維碼,用以實時更新或補充書籍的內容及發布本書的勘誤。 《算法筆記上機訓練實戰指南》可作為計算機專業研究生入學考試複試上機、各類算法等級考試(如PAT、CSP等)的輔導書,也可作為考研時“數據結構”科目的教材及輔導書內容的補充。本書還是學習C語言、數據結構與算法的入門輔導書,非常適合零基礎的學習者對經典算法進行學習。

編輯推薦

這本書籍是《算法筆記》的配套訓練書籍,有著PAT甲乙級的全部真題,並且每道題的題解都相當詳細,給出的代碼也進行了大量的注釋,真正做到了“題解”二字,讀者在認真研習本書後可以對代碼能力得到不小的提升。
本書同時也是作者的實戰經驗,書中總結了很多技巧,不僅可以作為考研機試和PAT的學習教材,對其他的一些算法考試(例如CCF的CSP考試)或者考研初試的數據結構科目的學習和理解也很有幫助,甚至僅僅想學習經典算法的讀者也能從本書中學到許多知識。
傳統的習題類書籍都有著一個問題,那就是書中的內容無法“與時俱進”,一旦成書之後便無法在短時間內進行修改或者完善。但是本書和《算法筆記》相同,也採用了書籍二維碼的方式,這使得本書可以隨時添加、更新題目,或者對書中的講解進行更進一步的深入。可以說這本書是一本“活”的習題集,能夠真正做到“與時俱進”。

內容簡介

《算法筆記上機訓練實戰指南》是《算法筆記》的配套習題集,內容按照《算法筆記》的章節順序進行編排,其中整理歸類了PAT甲級、乙級共150多道題的詳細題解,大部分題解均編有題意、樣例解釋、思路、注意點、參考代碼,且代碼中包含了詳細的注釋。讀者可以通過本書對《算法筆記》的知識點進行更深入的學習和理解。書中印有大量二維碼,用以實時更新或補充書籍的內容及發布本書的勘誤。
《算法筆記上機訓練實戰指南》可作為計算機專業研究生入學考試複試上機、各類算法等級考試(如PAT、CSP等)的輔導書,也可作為考研時“數據結構”科目的教材及輔導書內容的補充。本書還是學習C語言、數據結構與算法的入門輔導書,非常適合零基礎的學習者對經典算法進行學習。

目錄

前言
第1章 本書的使用方法 1
第2章 C/C++快速入門 2
2.1 基本數據類型 2
2.2 順序結構 2
2.3 條件結構 2
2.4 循環結構 2
2.5 數 組 3
2.6 函 數 3
2.7 指 針 3
2.8 結構體(struct)的使用 3
2.9 補 充 3
2.10 黑盒測試 4
第3章 入門篇(1)——入門模擬 5
3.1 簡單模擬 5
3.2 查找元素 29
3.3 圖形輸出 43
3.4 日期處理 50
3.5 進制轉換 50
3.6 字元串處理 58
第4章 入門篇(2)——算法初步 87
4.1 排 序 87
4.2 散 列 128
4.3 遞 歸 148
4.4 貪 心 148
4.5 二 分 165
4.6 two pointers 176
4.7 其他高效技巧與算法 184
第5章 入門篇(3)——數學問題 189
5.1 簡單數學 189
5.2 最大公約數與最低公倍數 201
5.3 分數的四則運算 203
5.4 素 數 209
5.5 質因子分解 218
5.6 大整數運算 223
5.7 擴展歐幾里得算法 231
5.8 組合數 231
第6章 C++標準模板庫(STL)介紹 232
6.1 vector的常見用法詳解 232
6.2 set的常見用法詳解 238
6.3 string的常見用法詳解 241
6.4 map的常用用法詳解 244
6.5 queue的常見用法詳解 256
6.6 priority_queue的常見用法詳解 256
6.7 stack的常見用法詳解 257
6.8 pair的常見用法詳解 257
6.9 algorithm頭檔案下常用函式介紹 257
第7章 提高篇(1)——數據結構專題(1) 258
7.1 棧的套用 258
7.2 佇列的套用 261
7.3 鍊表處理 264
第8章 提高篇(2)——搜尋專題 278
8.1 深度優先搜尋(DFS) 278
8.2 廣度優先搜尋(BFS) 281
第9章 提高篇(3)——數據結構專題(2) 286
9.1 樹與二叉樹 286
9.2 二叉樹的遍歷 286
9.3 樹的遍歷 296
9.4 二叉查找樹(BST) 316
9.5 平衡二叉樹(AVL樹) 325
9.6 並查集 329
9.7 堆 333
9.8 赫夫曼樹 337
第10章 提高篇(4)——圖算法專題 338
10.1 圖的定義和相關術語 338
10.2 圖的存儲 338
10.3 圖的遍歷 338
10.4 最短路徑 357
10.5 最小生成樹 385
10.6 拓撲排序 386
10.7 關鍵路徑 386
第11章 提高篇(5)——動態規劃專題 387
11.1 動態規劃的遞歸寫法和遞推寫法 387
11.2 最大連續子序列和 387
11.3 最長不下降子序列(LIS) 390
11.4 最長公共子序列(LCS) 392
11.5 最長回文子串 394
11.6 DAG最長路 396
11.7 背包問題 396
11.8 總 結 399
第12章 提高篇(6)——字元串專題 400
12.1 字元串hash 400
12.2 KMP算法 402
第13章 專題擴展 403
13.1 分塊思想 403
13.2 樹狀數組 406
13.3 快樂模擬 408
附 錄 430

作者

胡凡,浙江大學計算機科學與技術學院2014級研究生,2014級機試成績滿分,複試成績第一。

前言

本書作為《算法筆記》的配套習題集,適合用於研究生複試上機、PAT甲級與乙級考試、CCF的CSP認證等算法考試。本書中的題目全部配有詳細的題解,大部分題目都包含題意、樣例解釋、思路、注意點及參考代碼。
使用本書前,讀者應先閱讀本書的配套教材《算法筆記》的對應章節,然後再以本書中的習題作為訓練。訓練時先獨立思考,不要馬上看書中的思路和相關內容,如果有不會的題目可以暫時先跳過,過段時間再回頭重新做。如果題目確實有些難度,想了很久也不得要領,那么可以閱讀該題的思路部分;如果多次提交卻總是無法通過全部數據點,那么可以閱讀該題的注意點部分,看看有什麼邊界數據是自己沒有注意到的;當對該題的寫法不太確定時,也可以閱讀參考代碼。
本書適合進行專題訓練,即對一個章節的題目進行集中訓練,這有助於對同一個算法進行詳細且細緻的訓練,而不會出現為了做題而做題、從頭到尾刷完PAT之後卻還是一點感覺都沒有的情況。本書上有些來自codeup的習題,可供讀者練習使用。
另外,本書將在每小節的最後配有一個二維碼,用以更新本節內容或是對本節的新題進行補充;每章最後也會有一個二維碼,用來補充新內容。本書的勘誤和內容更新日誌均體現在下面的二維碼,可供讀者查看實時更新。

相關詞條

熱門詞條

聯絡我們