內容簡介
ACM-ICPC訓練聯盟推薦教材
適用於ACM、IOI等各類程式設計競賽訓練
本書針對程式設計初學者的學習需求,以作者長期教學和競賽訓練中總結的知識體系,加上行之有效的程式設計能力訓練方法,以各類程式設計競賽的初級試題為素材編寫而成。透過啟發式、案例化的方式,吸引讀者探索和思考,順利地達到程式設計入門的效果。本書不僅可以作為ACM-ICPC、IOI等程式設計競賽的訓練初步教程,也可作為程式設計相關課程的實作教材,以及對程式設計感興趣的讀者的自學讀物。
‧從ACM-ICPC等各類國內外程式設計競賽中精選80餘道初級試題作為本書的範例試題,包含程式設計起點、選擇結構、迴圈結構、嵌套結構、陣列、函數、指標、數學計算、排序和C++ STL。解題知識涉及程式語言、從簡單的中學數學和物理到導數和矩陣,啟發學生邏輯思維,並以此磨練讀者程式設計解決問題的能力。
‧每道試題不僅有詳盡的試題解析,還提供了詳細註釋的參考程式,讀者可參考這些清楚的提示,進一步訓練以程式設計解決問題的能力。
‧書中的經典試題可用於程式設計相關課程的實作教學,還可用於輔導學生進行程式設計入門和競賽訓練。
適用於ACM、IOI等各類程式設計競賽訓練
本書針對程式設計初學者的學習需求,以作者長期教學和競賽訓練中總結的知識體系,加上行之有效的程式設計能力訓練方法,以各類程式設計競賽的初級試題為素材編寫而成。透過啟發式、案例化的方式,吸引讀者探索和思考,順利地達到程式設計入門的效果。本書不僅可以作為ACM-ICPC、IOI等程式設計競賽的訓練初步教程,也可作為程式設計相關課程的實作教材,以及對程式設計感興趣的讀者的自學讀物。
‧從ACM-ICPC等各類國內外程式設計競賽中精選80餘道初級試題作為本書的範例試題,包含程式設計起點、選擇結構、迴圈結構、嵌套結構、陣列、函數、指標、數學計算、排序和C++ STL。解題知識涉及程式語言、從簡單的中學數學和物理到導數和矩陣,啟發學生邏輯思維,並以此磨練讀者程式設計解決問題的能力。
‧每道試題不僅有詳盡的試題解析,還提供了詳細註釋的參考程式,讀者可參考這些清楚的提示,進一步訓練以程式設計解決問題的能力。
‧書中的經典試題可用於程式設計相關課程的實作教學,還可用於輔導學生進行程式設計入門和競賽訓練。
作者簡介
作者介紹周娟
華東交通大學副教授,軟體學院創新創業中心主任,ACM程式設計競賽、數學建模競賽主教練。
吳永輝
復旦大學副教授,美國石溪大學訪問學者,上海師範大學兼任教授,ICPC亞洲訓練委員會主任。曾率隊在ICPC世界總決賽上獲得三面獎牌,並應邀在海內外多所大專院校長期講學。譯者介紹
華東交通大學副教授,軟體學院創新創業中心主任,ACM程式設計競賽、數學建模競賽主教練。
吳永輝
復旦大學副教授,美國石溪大學訪問學者,上海師範大學兼任教授,ICPC亞洲訓練委員會主任。曾率隊在ICPC世界總決賽上獲得三面獎牌,並應邀在海內外多所大專院校長期講學。譯者介紹
目錄
Chapter 01 程式設計起點:輸入和輸出
1.1 輸出
1.2 輸入與輸出
Chapter 02 程式設計基礎 I
2.1 選擇結構
2.2 迴圈結構
2.3 巢狀結構
2.4 陣列
2.5 二維陣列
2.6 字元和字串
Chapter 03 程式設計基礎 II
3.1 函式
3.2 遞迴函式
3.3 結構體
3.4 指標
Chapter 04 數學計算
4.1 幾何初步
4.2 歐幾里得演算法和擴展的歐幾里得演算法
4.3 機率論初步
4.4 微積分初步
4.5 矩陣計算
Chapter 05 排序
5.1 簡單的排序演算法:選擇排序、插入排序、泡沫排序
5.2 合併排序
5.3 快速排序
5.4 利用排序函式進行排序
5.5 結構體排序
Chapter 06 C++ STL
6.1 STL 容器
6.2 STL 演算法
1.1 輸出
1.2 輸入與輸出
Chapter 02 程式設計基礎 I
2.1 選擇結構
2.2 迴圈結構
2.3 巢狀結構
2.4 陣列
2.5 二維陣列
2.6 字元和字串
Chapter 03 程式設計基礎 II
3.1 函式
3.2 遞迴函式
3.3 結構體
3.4 指標
Chapter 04 數學計算
4.1 幾何初步
4.2 歐幾里得演算法和擴展的歐幾里得演算法
4.3 機率論初步
4.4 微積分初步
4.5 矩陣計算
Chapter 05 排序
5.1 簡單的排序演算法:選擇排序、插入排序、泡沫排序
5.2 合併排序
5.3 快速排序
5.4 利用排序函式進行排序
5.5 結構體排序
Chapter 06 C++ STL
6.1 STL 容器
6.2 STL 演算法