西西軟件園多重安全檢測下載網(wǎng)站、值得信賴的軟件下載站!
西西首頁 電腦軟件 安卓軟件 電腦游戲 安卓游戲 排行榜 專題合集

算法競賽入門經(jīng)典

PDF中文完整版
  • 算法競賽入門經(jīng)典PDF中文完整版
  • 軟件大小:42.9M
  • 更新時間:2012-12-20 15:26
  • 軟件語言:中文
  • 軟件廠商:
  • 軟件類別:國產(chǎn)軟件 / 免費軟件 / 電子教程
  • 軟件等級:4級
  • 應(yīng)用平臺:WinXP, WinAll
  • 官方網(wǎng)站:暫無
  • 應(yīng)用備案:
好評:50%
壞評:50%

軟件介紹

《算法競賽入門經(jīng)典》是一本算法競賽的入門教材,把C/C++語言、算法和解題有機(jī)地結(jié)合在了一起,淡化理論,注重學(xué)習(xí)方法和實踐技巧。全書內(nèi)容分為11章,包括程序設(shè)計入門、循環(huán)結(jié)構(gòu)程序設(shè)計、數(shù)組和字符串、函數(shù)和遞歸、基礎(chǔ)題目選解、數(shù)據(jù)結(jié)構(gòu)基礎(chǔ)、暴力求解法、高效算法設(shè)計、動態(tài)規(guī)劃初步、數(shù)學(xué)概念與方法、圖論模型與算法,覆蓋了算法競賽入門所需的主要知識點,并附有大量習(xí)題。書中的代碼規(guī)范、簡潔、易懂,不僅能幫助讀者理解算法原理,還能教會讀者很多實用的編程技巧。另外,書中包含的各種開發(fā)、測試和調(diào)試技巧也是在傳統(tǒng)的語言、算法類書籍中難以見到的。

12年前,當(dāng)我翻開Sam A.Abolrous所著《C語言三日通》的第一頁時,我不會想到自己會有機(jī)會編寫一本講解C語言的書籍。當(dāng)時,我真的只花了3天就學(xué)完了這本書,并且自信滿滿:“我學(xué)會C語言啦!我要用它寫出各種有趣、有用的程序!”但漸漸地,我認(rèn)識到了:雖然淺顯易懂,但書中的內(nèi)容只是語言入門,離實際應(yīng)用還有較大差距,就好比小學(xué)生學(xué)會造句以后還要下很大功夫才能寫出像樣的作文。
  第二本對我影響很大的書是Sun公司的Peter van der Linden(PvdL)所著的《C程序設(shè)計奧秘》。作者稱該書應(yīng)該是每一個程序員“在C語言方面的第二本書”,因為“書中絕大部分內(nèi)容、技巧和技術(shù)在其他任何書中都找不到”。原先我只是把自己當(dāng)成是程序員,但在閱讀的過程中,我開始漸漸了解到硬件設(shè)計者、編譯程序開發(fā)者、操作系統(tǒng)編寫者和標(biāo)準(zhǔn)制定者是怎么想的。繼續(xù)的閱讀增強(qiáng)了我的領(lǐng)悟:要學(xué)好C語言,絕非熟悉語法和語義這么簡單。
  后來,我自學(xué)了數(shù)據(jù)結(jié)構(gòu),懂得了編程處理數(shù)據(jù)的基本原則和方法,然后又學(xué)習(xí)了8086匯編語言,甚至曾沒日沒夜地用SoftICE調(diào)試《仙劍奇?zhèn)b傳》,并把學(xué)到的技巧運用到自己開發(fā)的游戲引擎中。再后來,我通過《電腦愛好者》雜志上的一則不起眼的廣告了解到了全國信息學(xué)奧林匹克聯(lián)賽(當(dāng)時稱為分區(qū)聯(lián)賽,NOIP是后來的稱謂)。

目錄:

第1部分 語言篇
第1章 程序設(shè)計入門 1
1.1 算術(shù)表達(dá)式 1
1.2 變量及其輸入 3
1.3 順序結(jié)構(gòu)程序設(shè)計 6
1.4 分支結(jié)構(gòu)程序設(shè)計 9
1.5 小結(jié)與習(xí)題 13
1.5.1 數(shù)據(jù)類型實驗 13
1.5.2 scanf輸入格式實驗 13
1.5.3 printf語句輸出實驗 13
1.5.4 測測你的實踐能力 14
1.5.5 小結(jié) 14
1.5.6 上機(jī)練習(xí) 15

第2章 循環(huán)結(jié)構(gòu)程序設(shè)計 16
2.1 for循環(huán) 16
2.2 循環(huán)結(jié)構(gòu)程序設(shè)計 19
2.3 文件操作 23
2.4 小結(jié)與習(xí)題 27
2.4.1 輸出技巧 28
2.4.2 浮點數(shù)陷阱 28
2.4.3 64位整數(shù) 28
2.4.4 C++中的輸入輸出 29
2.4.5 小結(jié) 30
2.4.6 上機(jī)練習(xí) 31

第3章 數(shù)組和字符串 33
3.1 數(shù)組 33
3.2 字符數(shù)組 37
3.3 最長回文子串 41
3.4 小結(jié)與習(xí)題 45
3.4.1 必要的存儲量 45
3.4.2 用ASCII編碼表示字符 45
3.4.3 補(bǔ)碼表示法 46
3.4.4 重新實現(xiàn)庫函數(shù) 47
3.4.5 字符串處理的常見問題 47
3.4.6 關(guān)于輸入輸出 47
3.4.7 I/O的效率 47
3.4.8 小結(jié) 49
3.4.9 上機(jī)練習(xí) 50

第4章 函數(shù)和遞歸 51
4.1 數(shù)學(xué)函數(shù) 51
4.1.1 簡單函數(shù)的編寫 51
4.1.2 使用結(jié)構(gòu)體的函數(shù) 52
4.1.3 應(yīng)用舉例 53
4.2 地址和指針 56
4.2.1 變量交換 56
4.2.2 調(diào)用棧 57
4.2.3 用指針實現(xiàn)變量交換 59
4.2.4 初學(xué)者易犯的錯誤 61
4.3 遞歸 62
4.3.1 遞歸定義 62
4.3.2 遞歸函數(shù) 63
4.3.3 C語言對遞歸的支持 64
4.3.4 段錯誤與棧溢出 66
4.4 本章小結(jié) 67
4.4.1 小問題集錦 67
4.4.2 小結(jié) 68

第2部分 算法篇
第5章 基礎(chǔ)題目選解 69
5.1 字符串 69
5.1.1 WERTYU 69
5.1.2 TeX括號 70
5.1.3 周期串 71
5.2 高精度運算 71
5.2.1 小學(xué)生算術(shù) 72
5.2.2 階乘的精確值 72
5.2.3 高精度運算類bign 73
5.2.4 重載bign的常用運算符 75
5.3 排序與檢索 77
5.3.1 6174問題 77
5.3.2 字母重排 78
5.4 數(shù)學(xué)基礎(chǔ) 81
5.4.1 Cantor的數(shù)表 81
5.4.2 因子和階乘 82
5.4.3 果園里的樹 84
5.4.4 多少塊土地 86
5.5 訓(xùn)練參考 86
5.5.1 黑盒測試 86
5.5.2 在線評測系統(tǒng) 87
5.5.3 推薦題目 88

第6章 數(shù)據(jù)結(jié)構(gòu)基礎(chǔ) 89
6.1 棧和隊列 89
6.1.1 卡片游戲 89
6.1.2 鐵軌 91
6.2 鏈表 93
6.2.1 初步分析 93
6.2.2 鏈?zhǔn)浇Y(jié)構(gòu) 95
6.2.3 對比測試 96
6.2.4 隨機(jī)數(shù)發(fā)生器 98
6.3 二叉樹 99
6.3.1 小球下落 99
6.3.2 層次遍歷 101
6.3.3 二叉樹重建 105
6.4 圖 106
6.4.1 黑白圖像 107
6.4.2 走迷宮 108
6.4.3 拓?fù)渑判?110
6.4.4 歐拉回路 111
6.5 訓(xùn)練參考 112

第7章 暴力求解法 114
7.1 簡單枚舉 114
7.1.1 除法 114
7.1.2 最大乘積 115
7.1.3 分?jǐn)?shù)拆分 115
7.1.4 雙基回文數(shù) 116
7.2 枚舉排列 116
7.2.1 生成1~n的排列 116
7.2.2 生成可重集的排列 118
7.2.3 解答樹 118
7.2.4 下一個排列 119
7.3 子集生成 120
7.3.1 增量構(gòu)造法 120
7.3.2 位向量法 121
7.3.3 二進(jìn)制法 122
7.4 回溯法 123
7.4.1 八皇后問題 123
7.4.2 素數(shù)環(huán) 126
7.4.3 困難的串 127
7.4.4 帶寬 128
7.5 隱式圖搜索 129
7.5.1 隱式樹的遍歷 129
7.5.2 一般隱式圖的遍歷 130
7.5.3 八數(shù)碼問題 131
7.5.4 結(jié)點查找表 133
7.6 訓(xùn)練參考 136

第8章 高效算法設(shè)計 138
8.1 算法分析初步 138
8.1.1 漸進(jìn)時間復(fù)雜度 138
8.1.2 上界分析 140
8.1.3 分治法 140
8.1.4 正確對待算法分析結(jié)果 142
8.2 再談排序與檢索 143
8.2.1 歸并排序 143
8.2.2 快速排序 145
8.2.3 二分查找 145
8.3 遞歸與分治 148
8.3.1 棋盤覆蓋問題 148
8.3.2 循環(huán)日程表問題 149
8.3.3 巨人與鬼 149
8.3.4 非線性方程求根 150
8.3.5 最大值最小化 151
8.4 貪心法 151
8.4.1 最優(yōu)裝載問題 151
8.4.2 部分背包問題 152
8.4.3 乘船問題 152
8.4.4 選擇不相交區(qū)間 152
8.4.5 區(qū)間選點問題 153
8.4.6 區(qū)間覆蓋問題 154
8.4.7 Huffman編碼 154
8.5 訓(xùn)練參考 156

第3部分 競賽篇
第9章 動態(tài)規(guī)劃初步 158
9.1 數(shù)字三角形 158
9.1.1 問題描述與狀態(tài)定義 158
9.1.2 記憶化搜索與遞推 159
9.2 DAG上的動態(tài)規(guī)劃 161
9.2.1 DAG模型 161
9.2.2 最長路及其字典序 162
9.2.3 固定終點的最長路和最短路 163
9.3 0-1背包問題 167
9.3.1 多階段決策問題 167
9.3.2 規(guī)劃方向 168
9.3.3 滾動數(shù)組 169
9.4 遞歸結(jié)構(gòu)中的動態(tài)規(guī)劃 170
9.4.1 表達(dá)式上的動態(tài)規(guī)劃 170
9.4.2 凸多邊形上的動態(tài)規(guī)劃 171
9.4.3 樹上的動態(tài)規(guī)劃 171
9.5 集合上的動態(tài)規(guī)劃 172
9.5.1 狀態(tài)及其轉(zhuǎn)移 173
9.5.2 隱含的階段 173
9.6 訓(xùn)練參考 174

第10章 數(shù)學(xué)概念與方法 176
10.1 數(shù)論初步 176
10.1.1 除法表達(dá)式 176
10.1.2 無平方因子的數(shù) 178
10.1.3 直線上的點 179
10.1.4 同余與模算術(shù) 180
10.2 排列與組合 182
10.2.1 楊輝三角與二項式定理 182
10.2.2 數(shù)論中的計數(shù)問題 184
10.2.3 編碼與解碼 186
10.2.4 離散概率初步 187
10.3 遞推關(guān)系 188
10.3.1 漢諾塔 188
10.3.2 Fibonacci數(shù)列 189
10.3.3 Catalan數(shù) 191
10.3.4 危險的組合 192
10.3.5 統(tǒng)計n-k特殊集的數(shù)目 193
10.4 訓(xùn)練參考 194

第11章 圖論模型與算法 196
11.1 再談樹 196
11.1.1 無根樹轉(zhuǎn)有根樹 196
11.1.2 表達(dá)式樹 197
11.1.3 最小生成樹 199
11.1.4 并查集 200
11.2 最短路問題 201
11.2.1 Dijkstra算法 202
11.2.2 稀疏圖的鄰接表 203
11.2.3 使用優(yōu)先隊列的Dijkstra算法 204
11.2.4 Bellman-Ford算法 205
11.2.5 Floyd算法 206
11.3 網(wǎng)絡(luò)流初步 207
11.3.1 最大流問題 207
11.3.2 增廣路算法 208
11.3.3 最小割最大流定理 210
11.3.4 最小費用最大流問題 211
11.4 進(jìn)一步學(xué)習(xí)的參考 212
11.4.1 編程語言 213
11.4.2 數(shù)據(jù)結(jié)構(gòu) 213
11.4.3 算法設(shè)計 213
11.4.4 數(shù)學(xué) 214
11.4.5 參賽指南 214
11.5 訓(xùn)練參考 215

附錄A 開發(fā)環(huán)境與方法 216
A.1 命令行 216
A.1.1 文件系統(tǒng) 216
A.1.2 進(jìn)程 217
A.1.3 程序的執(zhí)行 217
A.1.4 重定向和管道 218
A.1.5 常見命令 218
A.2 操作系統(tǒng)腳本編程入門 219
A.2.1 Windows下的批處理 219
A.2.2 Linux下的Bash腳本 220
A.2.3 再談隨機(jī)數(shù) 221
A.3 編譯器和調(diào)試器 221
A.3.1 gcc的安裝和測試 221
A.3.2 常見編譯選項 222
A.3.3 gdb簡介 223
A.3.4 gdb的高級功能 224
A.4 淺談IDE 225

軟件標(biāo)簽: 算法
《算法競賽入門經(jīng)典》可作為全國青少年信息學(xué)奧林匹克聯(lián)賽(NOIP)的復(fù)賽教材及ACM國際大學(xué)。

作者簡介
劉汝佳,1982年12月生,高中畢業(yè)于重慶市外國語學(xué)校。
2000年3月獲得NO12000全國青少年信息學(xué)奧林匹克競賽一等獎第四名,進(jìn)入國家集訓(xùn)隊,并因此保送到清華大學(xué)計算機(jī)科學(xué)與技術(shù)系。大一時獲2001年ACM/ICPC國際大學(xué)生程序設(shè)計競賽亞洲一上海賽區(qū)冠軍和2002年世界總決賽銀牌(世界第四),2005年獲學(xué)士學(xué)位,2008年獲碩士學(xué)位。
學(xué)生時代曾為中國計算機(jī)學(xué)會NOI科學(xué)委員會學(xué)生委員,擔(dān)任J012002-2008中國國家隊教練,并為NOI系列比賽命題十余道,F(xiàn)為NOI競賽委員會委員,并在NOI 25周年時獲得中國計算機(jī)學(xué)會頒發(fā)的“特別貢獻(xiàn)獎”。
2004年至今共為ACM/ICPC亞洲賽區(qū)命題二十余道,擔(dān)任6次裁判和2次命題總監(jiān),并應(yīng)邀參加IOI和ACM/lCPC相關(guān)國際研討會,發(fā)表論文兩篇。
2004年初作為第一作者出版專著《算法藝術(shù)與信息學(xué)競賽》,2009年出版譯著《編程挑戰(zhàn)》。
多年來在全國二十余個城市進(jìn)行中學(xué)生競賽培訓(xùn)工作,為北京、上海、吉隆坡等地的著名高校授課與宣講,并多次與TopCodet、百度和網(wǎng)易有道等知名企業(yè)合作舉辦比賽,讓更多的IT人才獲得展示自我的平臺。

其他版本下載

最新評論查看所有(5)條評論 >

第 5 樓 美國CZ88.NET 網(wǎng)友 客人 2015/11/30 9:23:48
超贊

支持( 0 ) 蓋樓(回復(fù))

第 4 樓 山西朔州電信 網(wǎng)友 客人 2014/12/18 8:33:20
很好

支持( 0 ) 蓋樓(回復(fù))

第 3 樓 重慶電信 網(wǎng)友 客人 2014/11/22 23:52:15
好东西,赞一个!

支持( 0 ) 蓋樓(回復(fù))

第 2 樓 陜西西安西安交通大學(xué)第二附屬醫(yī)院 網(wǎng)友 客人 2014/6/19 22:32:34
嗯 很好。很清晰

支持( 0 ) 蓋樓(回復(fù))

第 1 樓 山西太原金玉網(wǎng)吧(山西大學(xué)商務(wù)學(xué)院) 網(wǎng)友 客人 2013/11/18 8:37:46
后一本我還沒拿到,但是一看目錄就知道,后面要更難一些,一些高級數(shù)據(jù)結(jié)構(gòu)(treap,線段樹),計算幾何等算法都在里面。前面的個本比較適合初學(xué)者,都是簡單的算法。

支持( 0 ) 蓋樓(回復(fù))

發(fā)表評論

昵稱:
表情: 高興 可 汗 我不要 害羞 好 下下下 送花 屎 親親
查看所有(5)條評論 > 字?jǐn)?shù): 0/500

TOP
軟件下載