发表于2024-11-22
ACM程序設計競賽基礎教程(第2版) pdf epub mobi txt 電子書 下載 2024
本書對參與ACM-ICPC競賽訓練、算法思維培養及程序設計實踐,起到瞭有益的指導作用。近年來,隨著ACM-ICPC賽事在中國的不斷發展,國內高校的參與度和競賽成績不斷攀升。ACM-ICPC競賽訓練能夠綜閤、全麵、係統的培養學生的算法思維和設計能力。通過賽事訓練,能夠將計算機語言類課程、數據結構、算法設計與分析、離散數學、組閤數學、數論等眾多專業課程進行很好的融閤,對學生的專業培養和教育大有益處。
本書以循序漸進的方式對ACM程序設計競賽中所涉及的基本題型和知識點進行瞭綜閤的介紹。內容包括基礎知識講解、典型題目分析和算法設計,每道例題均給齣完整的源程序作為參考。內容涵蓋瞭基礎算法、數據結構、字符串、搜索、圖論、動態規劃、組閤數學和初等數論等。
本書提供配套網站(http://acm.hrbeu.edu.cn),讀者可從中下載所有書中題目的源代碼,並在HEU Online Judge(http://acm.hrbeu.edu.cn)上開設包括本書中齣現的所有題目的評測專區,供讀者提交、評測自己的程序以檢驗解題結果。同時,還開闢專門的論壇以方便讀者之間溝通、交流和討論。
本次修訂始終本著“實用、管用、夠用”的原則,在盡量保持“原版特色、組織結構和內容體係”不變的前提下,對例題做瞭大量的篩選工作,同時對解題思路等內容進行瞭精心的設計和編寫,既有利於啓發,又留有餘地,便於推動學生的思維培養。
本書以循序漸進的方式對ACM程序設計競賽中所涉及的基本題型和知識點進行瞭綜閤的介紹。全書共分10章,包括基礎知識講解、典型題目分析和算法設計,每道例題均給齣瞭完整的源程序作為參考。內容涵蓋瞭基礎算法、數據結構、字符串、搜索、圖論、動態規劃、組閤數學和初等數論等。
本書內容全麵,針對性強,言簡意賅,講解透徹,通俗易懂,圖例豐富,所有源代碼均可進行評測。本書作為ACM程序設計競賽的培訓教程,不僅為大學生提供瞭競賽入門的指導,而且對參賽學生拓展解題思路和提高訓練水平也有很大的幫助。本書也可供喜愛程序設計的學生以及從事算法設計的技術人員學習參考。
俞經善,哈爾濱工程大學教授,講授數據結構、操作係統、算法設計與分析、計算機網絡、程序設計基礎等課程。從事ACM-ICPC競賽活動十餘年,具有豐富的競賽培訓經驗,在各級ACM-ICPC賽事中取得好的成績,兩次率隊進入ACM-ICPC World Finals。
鞠成東,哈爾濱工程大學副教授。講授算法設計與分析、程序語言設計基礎、信息安全和具體數學等課程。具有豐富的軟件開發和工程實踐經驗,多年指導學生程序設計和工程實踐及ACM-ICPC競賽培訓。
參與編寫本書的人員為哈爾濱工程大學ACM/ICPC代錶隊領隊和指導教師,以及ACM/ICPC代錶隊隊員,在編寫過程中參考瞭大量的文獻,結閤多年的參賽經驗,對本書的內容進行瞭撰寫,並對書中例題源程序代碼進行評測。
第1章基礎算法1
1.1分治算法1
1.2遞歸算法8
1.3枚舉算法14
1.4貪心算法20第2章排序、查找算法29
2.1基本排序算法29
2.1.1插入排序29
2.1.2冒泡排序29
2.1.3快速排序30
2.1.4其他排序30
2.2基本查找算法31
2.2.1順序查找31
2.2.2摺半查找31
2.3實例分析32
2.4小結57第3章數據結構基礎58
3.1常用數據結構簡介58
3.1.1綫段樹簡介58
3.1.2並查集簡介58
3.1.3樹狀數組簡介58
3.2實例分析59第4章字符串80
4.1字符串匹配80
4.1.1樸素的字符串匹配算法80
4.1.2KMP算法81
4.1.3其他匹配算法81
4.2實例分析81
4.3小結97第5章搜索算法98
5.1基本搜索算法98
5.1.1遞歸與迭代98
5.1.2深度優先搜索與廣度優先搜索98
5.1.3迴溯98
5.2搜索算法的一些優化99
5.2.1剪枝函數99
5.2.2雙嚮廣度搜索99
5.3實例分析99
5.4小結121第6章圖論算法122
6.1最短路徑122
6.1.1Dijkstra算法122
6.1.2Floyd算法123
6.1.3Bellman�睩ord算法123
6.2最小生成樹124
6.2.1Kruskal算法125
6.2.2Prim算法126
6.3最大匹配——匈牙利算法127
6.4最優權匹配問題128
6.4.1理論基礎128
6.4.2基本思想129
6.4.3樣例代碼129
6.5割點、割邊以及連通分量131
6.5.1理論基礎131
6.5.2求割點132
6.5.3求強連通分量133
6.6網絡流135
6.6.1理論基礎135
6.6.2最大流問題135
6.6.3最小費用最大流問題137
6.7實例分析138
6.8小結166第7章動態規劃算法167
7.1基本思想169
7.2基本概念169
7.3基本原理170
7.3.1最優化原理170
7.3.2無後效性170
7.4基本步驟170
7.5經典例子171
7.6實例分析175
7.7小結200第8章計算幾何基礎201
8.1矢量201
8.1.1矢量的概念201
8.1.2矢量加減法201
8.1.3矢量叉積201
8.1.4矢量叉積的應用201
8.2包含關係203
8.2.1判斷圖形是否包含在矩形中203
8.2.2判斷圖形是否包含在多邊形中203
8.2.3判斷圖形是否包含在圓中 206
8.3凸包206
8.3.1凸包的概念206
8.3.2凸包的求法206
8.4實例分析208第9章數論233
9.1基本數學算法233
9.1.1素數篩選233
9.1.2最大公約數233
9.1.3快速乘方234
9.2實例分析234附錄A綜閤訓練題264
A.1Lucky Bird264
A.2Josephus’Problem265
A.3Counter Strike267
A.4Gauss Elimination270
A.5The Math Problem271
A.6Mobile Phones272
A.7Japan275
A.8骨灰級玩傢考證篇277
A.9括號匹配280
A.10食物鏈282
老師推薦
評分老師推薦
評分書不錯
評分老師推薦
評分書不錯
評分老師推薦
評分書不錯
評分書不錯
評分書不錯
ACM程序設計競賽基礎教程(第2版) pdf epub mobi txt 電子書 下載