算法競(jìng)賽入門經(jīng)典 ..
- 所屬分類:
其他職業(yè)資..
- 作者:
- 出版社:
- ISBN:730220608
- 出版日期:
-
原價(jià):
¥24.00元
現(xiàn)價(jià):¥0.00元
-
本書信息由合作網(wǎng)站提供,請(qǐng)前往以下網(wǎng)站購(gòu)買: 京東商城
當(dāng)當(dāng)網(wǎng)
圖書簡(jiǎn)介
品牌:清華大學(xué)出版社詳情基本信息
書名:算法競(jìng)賽入門經(jīng)典
原價(jià):24.00元
售價(jià):20.4元,便宜3.6元,折扣85
作者:劉汝佳
出版社:清華大學(xué)出版社
出版日期:2009-11-01
ISBN:9787302206088
字?jǐn)?shù):
頁(yè)碼:225
版次:1
裝幀:平裝
開本:16
商品重量:0.440kg
編輯推薦
《算法藝術(shù)與信息學(xué)競(jìng)賽:算法競(jìng)賽入門經(jīng)典》分為三部分:語(yǔ)言篇、算法篇和競(jìng)賽篇。首先以實(shí)踐導(dǎo)向的方式講解了C/C++的基本語(yǔ)法,然后介紹了算法和數(shù)據(jù)結(jié)構(gòu)的基礎(chǔ)知識(shí),最后是動(dòng)態(tài)規(guī)劃、數(shù)學(xué)和圖論三大專題。全書短小精悍,但內(nèi)容全面,既可作為教材,又方便自學(xué)。算法在計(jì)算機(jī)科學(xué)乃至于整個(gè)科學(xué)界的作用日益明顯。它們不僅具有重要的理論意義,而且解決了生產(chǎn)生活中的很多實(shí)際問(wèn)題。程序設(shè)計(jì)競(jìng)賽就是這樣一類以算法為核心但是偏重實(shí)用性的比賽。隨著各類比賽規(guī)模的逐漸擴(kuò)大,程序設(shè)計(jì)競(jìng)賽在各高校、IT公司和其他社會(huì)各界中越來(lái)越受到認(rèn)可和重視。很多研究工作者和從事IT行業(yè)的人盡管不參加這類競(jìng)賽,但也希望具有這方面的能力,受到這方面的專業(yè)訓(xùn)練。
本叢書的前身是5年前的同名圖書《算法藝術(shù)與信息學(xué)競(jìng)賽》。5年來(lái),更多的人加入到參賽、命題和組織的隊(duì)伍中來(lái),各類競(jìng)賽的參賽和命題水平也有了長(zhǎng)足的進(jìn)步。作者深知當(dāng)年的經(jīng)典之作開始顯得題目陳舊,知識(shí)的廣度和深度也無(wú)法達(dá)到當(dāng)今高水平比賽的要求了。因此,將原書的內(nèi)容擴(kuò)充、完善后分成三本,以叢書的形式依次展現(xiàn)給讀者。這三本書循序漸進(jìn),從零語(yǔ)言基礎(chǔ)開始講起,直到超越競(jìng)賽本身,真正把算法當(dāng)成“藝術(shù)”。
《算法藝術(shù)與信息學(xué)競(jìng)賽:算法競(jìng)賽入門經(jīng)典》適合語(yǔ)言零基礎(chǔ)的初學(xué)者,涵蓋算法競(jìng)賽的主要知識(shí)點(diǎn),大量經(jīng)驗(yàn)教訓(xùn)與比賽技巧,簡(jiǎn)潔、清晰、高效的示例代碼,豐富的輔助教學(xué)資源與配套習(xí)題。
內(nèi)容提要
《算法藝術(shù)與信息學(xué)競(jìng)賽:算法競(jìng)賽入門經(jīng)典》是一本算法競(jìng)賽的入門教材,把C/C++語(yǔ)言、算法和解題有機(jī)地結(jié)合在了一起,淡化理論,注重學(xué)習(xí)方法和實(shí)踐技巧。全書內(nèi)容分為11章,包括程序設(shè)計(jì)入門、循環(huán)結(jié)構(gòu)程序設(shè)計(jì)、數(shù)組和字符串、函數(shù)和遞歸、基礎(chǔ)題目選解、數(shù)據(jù)結(jié)構(gòu)基礎(chǔ)、暴力求解法、高效算法設(shè)計(jì)、動(dòng)態(tài)規(guī)劃初步、數(shù)學(xué)概念與方法、圖論模型與算法,覆蓋了算法競(jìng)賽入門所需的主要知識(shí)點(diǎn),并附有大量習(xí)題。書中的代碼規(guī)范、簡(jiǎn)潔、易懂,不僅能幫助讀者理解算法原理,還能教會(huì)讀者很多實(shí)用的編程技巧。另外,書中包含的各種開發(fā)、測(cè)試和調(diào)試技巧也是在傳統(tǒng)的語(yǔ)言、算法類書籍中難以見(jiàn)到的!端惴ǜ(jìng)賽入門經(jīng)典》可作為全國(guó)青少年信息學(xué)奧林匹克聯(lián)賽(NOIP)的復(fù)賽教材及ACM國(guó)際大學(xué)。
目錄
第1部分 語(yǔ)言篇
第1章 程序設(shè)計(jì)入門 1
1.1 算術(shù)表達(dá)式 1
1.2 變量及其輸入 3
1.3 順序結(jié)構(gòu)程序設(shè)計(jì) 6
1.4 分支結(jié)構(gòu)程序設(shè)計(jì) 9
1.5 小結(jié)與習(xí)題 13
1.5.1 數(shù)據(jù)類型實(shí)驗(yàn) 13
1.5.2 scanf輸入格式實(shí)驗(yàn) 13
1.5.3 printf語(yǔ)句輸出實(shí)驗(yàn) 13
1.5.4 測(cè)測(cè)你的實(shí)踐能力 14
1.5.5 小結(jié) 14
1.5.6 上機(jī)練習(xí) 15
第2章 循環(huán)結(jié)構(gòu)程序設(shè)計(jì) 16
2.1 for循環(huán) 16
2.2 循環(huán)結(jié)構(gòu)程序設(shè)計(jì) 19
2.3 文件操作 23
2.4 小結(jié)與習(xí)題 27
2.4.1 輸出技巧 28
2.4.2 浮點(diǎn)數(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 最長(zhǎng)回文子串 41
3.4 小結(jié)與習(xí)題 45
3.4.1 必要的存儲(chǔ)量 45
3.4.2 用ASCII編碼表示字符 45
3.4.3 補(bǔ)碼表示法 46
3.4.4 重新實(shí)現(xiàn)庫(kù)函數(shù) 47
3.4.5 字符串處理的常見(jiàn)問(wèn)題 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 簡(jiǎn)單函數(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 用指針實(shí)現(xiàn)變量交換 59
4.2.4 初學(xué)者易犯的錯(cuò)誤 61
4.3 遞歸 62
4.3.1 遞歸定義 62
4.3.2 遞歸函數(shù) 63
4.3.3 C語(yǔ)言對(duì)遞歸的支持 64
4.3.4 段錯(cuò)誤與棧溢出 66
4.4 本章小結(jié) 67
4.4.1 小問(wèn)題集錦 67
4.4.2 小結(jié) 68
第2部分 算法篇
第5章 基礎(chǔ)題目選解 69
5.1 字符串 69
5.1.1 WERTYU 69
5.1.2 TeX括號(hào) 70
5.1.3 周期串 71
5.2 高精度運(yùn)算 71
5.2.1 小學(xué)生算術(shù) 72
5.2.2 階乘的精確值 72
5.2.3 高精度運(yùn)算類bign 73
5.2.4 重載bign的常用運(yùn)算符 75
5.3 排序與檢索 77
5.3.1 6174問(wèn)題 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 黑盒測(cè)試 86
5.5.2 在線評(píng)測(cè)系統(tǒng) 87
5.5.3 推薦題目 88
第6章 數(shù)據(jù)結(jié)構(gòu)基礎(chǔ) 89
6.1 棧和隊(duì)列 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 對(duì)比測(cè)試 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 簡(jiǎn)單枚舉 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 下一個(gè)排列 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 八皇后問(wèn)題 123
7.4.2 素?cái)?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ù)碼問(wèn)題 131
7.5.4 結(jié)點(diǎn)查找表 133
7.6 訓(xùn)練參考 136
第8章 高效算法設(shè)計(jì) 138
8.1 算法分析初步 138
8.1.1 漸進(jìn)時(shí)間復(fù)雜度 138
8.1.2 上界分析 140
8.1.3 分治法 140
8.1.4 正確對(duì)待算法分析結(jié)果 142
8.2 再談排序與檢索 143
8.2.1 歸并排序 143
8.2.2 快速排序 145
8.2.3 二分查找 145
8.3 遞歸與分治 148
8.3.1 棋盤覆蓋問(wèn)題 148
8.3.2 循環(huán)日程表問(wèn)題 149
8.3.3 巨人與鬼 149
8.3.4 非線性方程求根 150
8.3.5 最大值最小化 151
8.4 貪心法 151
8.4.1 最優(yōu)裝載問(wèn)題 151
8.4.2 部分背包問(wèn)題 152
8.4.3 乘船問(wèn)題 152
8.4.4 選擇不相交區(qū)間 152
8.4.5 區(qū)間選點(diǎn)問(wèn)題 153
8.4.6 區(qū)間覆蓋問(wèn)題 154
8.4.7 Huffman編碼 154
8.5 訓(xùn)練參考 156
第3部分 競(jìng)賽篇
第9章 動(dòng)態(tài)規(guī)劃初步 158
9.1 數(shù)字三角形 158
9.1.1 問(wèn)題描述與狀態(tài)定義 158
9.1.2 記憶化搜索與遞推 159
9.2 DAG上的動(dòng)態(tài)規(guī)劃 161
9.2.1 DAG模型 161
9.2.2 最長(zhǎng)路及其字典序 162
9.2.3 固定終點(diǎn)的最長(zhǎng)路和最短路 163
9.3 0-1背包問(wèn)題 167
9.3.1 多階段決策問(wèn)題 167
9.3.2 規(guī)劃方向 168
9.3.3 滾動(dòng)數(shù)組 169
9.4 遞歸結(jié)構(gòu)中的動(dòng)態(tài)規(guī)劃 170
9.4.1 表達(dá)式上的動(dòng)態(tài)規(guī)劃 170
9.4.2 凸多邊形上的動(dòng)態(tài)規(guī)劃 171
9.4.3 樹上的動(dòng)態(tài)規(guī)劃 171
9.5 集合上的動(dòng)態(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 無(wú)平方因子的數(shù) 178
10.1.3 直線上的點(diǎn) 179
10.1.4 同余與模算術(shù) 180
10.2 排列與組合 182
10.2.1 楊輝三角與二項(xiàng)式定理 182
10.2.2 數(shù)論中的計(jì)數(shù)問(wèn)題 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 危險(xiǎn)的組合 192
10.3.5 統(tǒng)計(jì)n-k特殊集的數(shù)目 193
10.4 訓(xùn)練參考 194
第11章 圖論模型與算法 196
11.1 再談樹 196
11.1.1 無(wú)根樹轉(zhuǎn)有根樹 196
11.1.2 表達(dá)式樹 197
11.1.3 最小生成樹 199
11.1.4 并查集 200
11.2 最短路問(wèn)題 201
11.2.1 Dijkstra算法 202
11.2.2 稀疏圖的鄰接表 203
11.2.3 使用優(yōu)先隊(duì)列的Dijkstra算法 204
11.2.4 Bellman-Ford算法 205
11.2.5 Floyd算法 206
11.3 網(wǎng)絡(luò)流初步 207
11.3.1 最大流問(wèn)題 207
11.3.2 增廣路算法 208
11.3.3 最小割最大流定理 210
11.3.4 最小費(fèi)用最大流問(wèn)題 211
11.4 進(jìn)一步學(xué)習(xí)的參考 212
11.4.1 編程語(yǔ)言 213
11.4.2 數(shù)據(jù)結(jié)構(gòu) 213
11.4.3 算法設(shè)計(jì) 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 常見(jiàn)命令 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的安裝和測(cè)試 221
A.3.2 常見(jiàn)編譯選項(xiàng) 222
A.3.3 gdb簡(jiǎn)介 223
A.3.4 gdb的高級(jí)功能 224
A.4 淺談IDE 225作者介紹
劉汝佳,1982年12月生,高中畢業(yè)于重慶市外國(guó)語(yǔ)學(xué)校。2000年3月獲得NO12000全國(guó)青少年信息學(xué)奧林匹克競(jìng)賽一等獎(jiǎng)第四名,進(jìn)入國(guó)家集訓(xùn)隊(duì),并因此保送到清華大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)系。大一時(shí)獲2001年ACM/ICPC國(guó)際大學(xué)生程序設(shè)計(jì)競(jìng)賽亞洲一上海賽區(qū)冠軍和2002年世界總決賽銀牌(世界第四),2005年獲學(xué)士學(xué)位,2008年獲碩士學(xué)位。學(xué)生時(shí)代曾為中國(guó)計(jì)算機(jī)學(xué)會(huì)NOI科學(xué)委員會(huì)學(xué)生委員,擔(dān)任J012002-2008中國(guó)國(guó)家隊(duì)教練,并為NOI系列比賽命題十余道,F(xiàn)為NOI競(jìng)賽委員會(huì)委員,并在NOI25周年時(shí)獲得中國(guó)計(jì)算機(jī)學(xué)會(huì)頒發(fā)的“特別貢獻(xiàn)獎(jiǎng)”。2004年至今共為ACM/ICPC亞洲賽區(qū)命題二十余道,擔(dān)任6次裁判和2次命題總監(jiān),并應(yīng)邀參加IOI和ACM/lCPC相關(guān)國(guó)際研討會(huì),發(fā)表論文兩篇。2004年初作為第一作者出版專著《算法藝術(shù)與信息學(xué)競(jìng)賽》,2009年出版譯著《編程挑戰(zhàn)》。多年來(lái)在全國(guó)二十余個(gè)城市進(jìn)行中學(xué)生競(jìng)賽培訓(xùn)工作,為北京、上海、吉隆坡等地的著名高校授課與宣講,并多次與TopCodet、百度和網(wǎng)易有道等知名企業(yè)合作舉辦比賽,讓更多的IT人才獲得展示自我的平臺(tái)。
文摘
插圖:
本章介紹一些常見(jiàn)的圖論模型和算法,包括最小生成樹、單源最短路、每對(duì)結(jié)點(diǎn)的最短路、最大流、最小費(fèi)用最大流等。限于篇幅,很多算法都沒(méi)有給出完整的正確性證明(很容易在其他參考資料中找到相關(guān)內(nèi)容),但給出了簡(jiǎn)單、易懂的完整代碼,方便讀者參考。
在第6章中,我們第一次接觸到二叉樹;后來(lái),又接觸到了其他樹狀結(jié)構(gòu),如解答樹、BFS樹。本節(jié)將繼續(xù)討論“樹”這一話題。
有,?個(gè)頂點(diǎn)的樹具有以下3個(gè)特點(diǎn):連通、不含圈、恰好包含n-1條邊。有意思的是,具備上述3個(gè)特點(diǎn)中的任意兩個(gè),就可以推導(dǎo)出第3個(gè),有興趣的讀者不妨試著證明一下。
1 1.1.1無(wú)根樹轉(zhuǎn)有根樹
輸入一個(gè),z個(gè)結(jié)點(diǎn)的無(wú)根樹的各條邊,并指定一個(gè)根結(jié)點(diǎn),要求把該樹轉(zhuǎn)化為有根樹,輸出各個(gè)結(jié)點(diǎn)的父親編號(hào)。序言
“聽說(shuō)你最近在寫一本關(guān)于算法競(jìng)賽入門的書?”朋友問(wèn)我。
“是的!蔽椅⑿Φ。
“這是怎樣的一本書呢?”朋友很好奇。
“C語(yǔ)言、算法和題解!蔽一卮。
“什么?幾樣?xùn)|西混著嗎?”朋友很吃驚。
“對(duì)!蔽倚α,“這是我思考許久后做出的決定!
大學(xué)之前的我
12年前,當(dāng)我翻開SamA.Abolrous所著《C語(yǔ)言三日通》的第一頁(yè)時(shí),我不會(huì)想到自己會(huì)有機(jī)會(huì)編寫一本講解C語(yǔ)言的書籍。當(dāng)時(shí),我真的只花了3天就學(xué)完了這本書,并且自信滿滿:“我學(xué)會(huì)C語(yǔ)言啦!我要用它寫出各種有趣、有用的程序!”但漸漸地,我認(rèn)識(shí)到了:雖然淺顯易懂,但書中的內(nèi)容只是語(yǔ)言入門,離實(shí)際應(yīng)用還有較大差距,就好比小學(xué)生學(xué)會(huì)造句以后還要下很大功夫才能寫出像樣的作文。
第二本對(duì)我影響很大的書是Sun公司的Peter van derLinden(PvdL)所著的《C程序設(shè)計(jì)奧秘》。作者稱該書應(yīng)該是每一個(gè)程序員“在C語(yǔ)言方面的第二本書”,因?yàn)椤皶薪^大部分內(nèi)容、技巧和技術(shù)在其他任何書中都找不到”。原先我只是把自己當(dāng)成是程序員,但在閱讀的過(guò)程中,我開始漸漸了解到硬件設(shè)計(jì)者、編譯程序開發(fā)者、操作系統(tǒng)編寫者和標(biāo)準(zhǔn)制定者是怎么想的。繼續(xù)的閱讀增強(qiáng)了我的領(lǐng)悟:要學(xué)好C語(yǔ)言,絕非熟悉語(yǔ)法和語(yǔ)義這么簡(jiǎn)單。
后來(lái),我自學(xué)了數(shù)據(jù)結(jié)構(gòu),懂得了編程處理數(shù)據(jù)的基本原則和方法,然后又學(xué)習(xí)了8086匯編語(yǔ)言,甚至曾沒(méi)日沒(méi)夜地用SoftICE調(diào)試《仙劍奇?zhèn)b傳》,并把學(xué)到的技巧運(yùn)用到自己開發(fā)的游戲引擎中。再后來(lái),我通過(guò)《電腦愛(ài)好者》雜志上的一則不起眼的廣告了解到了全國(guó)信息學(xué)奧林匹克聯(lián)賽(當(dāng)時(shí)稱為分區(qū)聯(lián)賽,NOIP是后來(lái)的稱謂)。“學(xué)了這么久編程,要不參加個(gè)比賽試試?”想到這里,我拉著學(xué)校里另外一個(gè)自學(xué)編程的同學(xué),找老師帶我們參加了1997年的聯(lián)賽——在這之前,學(xué)校并不知道有這個(gè)比賽。憑借自己的數(shù)學(xué)功底和對(duì)計(jì)算機(jī)的認(rèn)識(shí),我在初賽(筆試)中獲得全市第二的成績(jī),進(jìn)入了復(fù)賽(上機(jī))?晌业纳蠙C(jī)編程比賽的結(jié)果是“慘烈”的:第一題有一個(gè)測(cè)試點(diǎn)超過(guò)了整數(shù)的表示范圍;第二題看漏了一個(gè)條件,一分都沒(méi)得;第三題使用了窮舉法,全部超時(shí)?纪曛笪以詾槟艿脻M分的,結(jié)果卻只得了100分中的20多分,名落孫山。
痛定思痛,我開始反思這個(gè)比賽。一個(gè)偶然的機(jī)會(huì),我拿到了一本聯(lián)賽培訓(xùn)教材。書上說(shuō),比賽的核心是算法(Algorithm),并且推薦使用Pascal語(yǔ)言,因?yàn)樗m合描述算法。我從別人那里復(fù)制來(lái)了TurboPascal7.0(那時(shí)網(wǎng)絡(luò)并不發(fā)達(dá)),開始研究起來(lái)。由于先學(xué)的是C語(yǔ)言,所以我剛開始學(xué)習(xí)Pascal時(shí)感到有些不習(xí)慣:賦值不是“=”而是“:=”,簡(jiǎn)潔的花括號(hào)變成了累贅的begin和end,if之后要加個(gè)then,而且和else之間不允許寫分號(hào)……但很快我就發(fā)現(xiàn),這些都不是本質(zhì)問(wèn)題。在編寫競(jìng)賽題的程序時(shí),我并不會(huì)用到太多的高級(jí)語(yǔ)法。Pascal的語(yǔ)法雖然稍微啰嗦一點(diǎn),但總體來(lái)說(shuō)是很清晰的。就這樣,我只花了不到一天時(shí)間就把語(yǔ)法習(xí)慣從C轉(zhuǎn)到了Pascal,剩下的知識(shí)就是在不斷編程中慢慢地學(xué)習(xí)和熟練——學(xué)習(xí)C語(yǔ)言的過(guò)程是痛苦的,但收益也是巨大的,“輕松轉(zhuǎn)到Pascal”只是其中一個(gè)小小的例子。
我學(xué)習(xí)計(jì)算機(jī),從一開始就不是為了參加競(jìng)賽,因此,在編寫算法程序之余,我?guī)缀蹩偸鞘褂檬煜さ腃語(yǔ)言,有時(shí)還會(huì)用點(diǎn)匯編,并沒(méi)有覺(jué)得有何不妥。隨著編寫應(yīng)用程序的經(jīng)驗(yàn)逐漸豐富,我開始慶幸自己先學(xué)的是C語(yǔ)言——在我購(gòu)買的各類技術(shù)書籍中,幾乎全部使用的是C語(yǔ)言而不是Pascal語(yǔ)言,盡管偶爾有用Delphi的文章,但這種語(yǔ)言似乎除了構(gòu)建漂亮的界面比較方便之外,并沒(méi)有太多的“技術(shù)含量”。我始終保持著對(duì)C語(yǔ)言的熟悉,而事實(shí)證明這對(duì)我的職業(yè)生涯發(fā)揮了巨大的作用。
目錄
基本信息
書名:算法競(jìng)賽入門經(jīng)典
原價(jià):24.00元
售價(jià):20.4元,便宜3.6元,折扣85
作者:劉汝佳
出版社:清華大學(xué)出版社
出版日期:2009-11-01
ISBN:9787302206088
字?jǐn)?shù):
頁(yè)碼:225
版次:1
裝幀:平裝
開本:16
商品重量:0.440kg
編輯推薦
《算法藝術(shù)與信息學(xué)競(jìng)賽:算法競(jìng)賽入門經(jīng)典》分為三部分:語(yǔ)言篇、算法篇和競(jìng)賽篇。首先以實(shí)踐導(dǎo)向的方式講解了C/C++的基本語(yǔ)法,然后介紹了算法和數(shù)據(jù)結(jié)構(gòu)的基礎(chǔ)知識(shí),最后是動(dòng)態(tài)規(guī)劃、數(shù)學(xué)和圖論三大專題。全書短小精悍,但內(nèi)容全面,既可作為教材,又方便自學(xué)。算法在計(jì)算機(jī)科學(xué)乃至于整個(gè)科學(xué)界的作用日益明顯。它們不僅具有重要的理論意義,而且解決了生產(chǎn)生活中的很多實(shí)際問(wèn)題。程序設(shè)計(jì)競(jìng)賽就是這樣一類以算法為核心但是偏重實(shí)用性的比賽。隨著各類比賽規(guī)模的逐漸擴(kuò)大,程序設(shè)計(jì)競(jìng)賽在各高校、IT公司和其他社會(huì)各界中越來(lái)越受到認(rèn)可和重視。很多研究工作者和從事IT行業(yè)的人盡管不參加這類競(jìng)賽,但也希望具有這方面的能力,受到這方面的專業(yè)訓(xùn)練。
本叢書的前身是5年前的同名圖書《算法藝術(shù)與信息學(xué)競(jìng)賽》。5年來(lái),更多的人加入到參賽、命題和組織的隊(duì)伍中來(lái),各類競(jìng)賽的參賽和命題水平也有了長(zhǎng)足的進(jìn)步。作者深知當(dāng)年的經(jīng)典之作開始顯得題目陳舊,知識(shí)的廣度和深度也無(wú)法達(dá)到當(dāng)今高水平比賽的要求了。因此,將原書的內(nèi)容擴(kuò)充、完善后分成三本,以叢書的形式依次展現(xiàn)給讀者。這三本書循序漸進(jìn),從零語(yǔ)言基礎(chǔ)開始講起,直到超越競(jìng)賽本身,真正把算法當(dāng)成“藝術(shù)”。
《算法藝術(shù)與信息學(xué)競(jìng)賽:算法競(jìng)賽入門經(jīng)典》適合語(yǔ)言零基礎(chǔ)的初學(xué)者,涵蓋算法競(jìng)賽的主要知識(shí)點(diǎn),大量經(jīng)驗(yàn)教訓(xùn)與比賽技巧,簡(jiǎn)潔、清晰、高效的示例代碼,豐富的輔助教學(xué)資源與配套習(xí)題。
內(nèi)容提要
《算法藝術(shù)與信息學(xué)競(jìng)賽:算法競(jìng)賽入門經(jīng)典》是一本算法競(jìng)賽的入門教材,把C/C++語(yǔ)言、算法和解題有機(jī)地結(jié)合在了一起,淡化理論,注重學(xué)習(xí)方法和實(shí)踐技巧。全書內(nèi)容分為11章,包括程序設(shè)計(jì)入門、循環(huán)結(jié)構(gòu)程序設(shè)計(jì)、數(shù)組和字符串、函數(shù)和遞歸、基礎(chǔ)題目選解、數(shù)據(jù)結(jié)構(gòu)基礎(chǔ)、暴力求解法、高效算法設(shè)計(jì)、動(dòng)態(tài)規(guī)劃初步、數(shù)學(xué)概念與方法、圖論模型與算法,覆蓋了算法競(jìng)賽入門所需的主要知識(shí)點(diǎn),并附有大量習(xí)題。書中的代碼規(guī)范、簡(jiǎn)潔、易懂,不僅能幫助讀者理解算法原理,還能教會(huì)讀者很多實(shí)用的編程技巧。另外,書中包含的各種開發(fā)、測(cè)試和調(diào)試技巧也是在傳統(tǒng)的語(yǔ)言、算法類書籍中難以見(jiàn)到的!端惴ǜ(jìng)賽入門經(jīng)典》可作為全國(guó)青少年信息學(xué)奧林匹克聯(lián)賽(NOIP)的復(fù)賽教材及ACM國(guó)際大學(xué)。
目錄
第1章 程序設(shè)計(jì)入門 1
1.1 算術(shù)表達(dá)式 1
1.2 變量及其輸入 3
1.3 順序結(jié)構(gòu)程序設(shè)計(jì) 6
1.4 分支結(jié)構(gòu)程序設(shè)計(jì) 9
1.5 小結(jié)與習(xí)題 13
1.5.1 數(shù)據(jù)類型實(shí)驗(yàn) 13
1.5.2 scanf輸入格式實(shí)驗(yàn) 13
1.5.3 printf語(yǔ)句輸出實(shí)驗(yàn) 13
1.5.4 測(cè)測(cè)你的實(shí)踐能力 14
1.5.5 小結(jié) 14
1.5.6 上機(jī)練習(xí) 15
第2章 循環(huán)結(jié)構(gòu)程序設(shè)計(jì) 16
2.1 for循環(huán) 16
2.2 循環(huán)結(jié)構(gòu)程序設(shè)計(jì) 19
2.3 文件操作 23
2.4 小結(jié)與習(xí)題 27
2.4.1 輸出技巧 28
2.4.2 浮點(diǎn)數(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 最長(zhǎng)回文子串 41
3.4 小結(jié)與習(xí)題 45
3.4.1 必要的存儲(chǔ)量 45
3.4.2 用ASCII編碼表示字符 45
3.4.3 補(bǔ)碼表示法 46
3.4.4 重新實(shí)現(xiàn)庫(kù)函數(shù) 47
3.4.5 字符串處理的常見(jiàn)問(wèn)題 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 簡(jiǎn)單函數(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 用指針實(shí)現(xiàn)變量交換 59
4.2.4 初學(xué)者易犯的錯(cuò)誤 61
4.3 遞歸 62
4.3.1 遞歸定義 62
4.3.2 遞歸函數(shù) 63
4.3.3 C語(yǔ)言對(duì)遞歸的支持 64
4.3.4 段錯(cuò)誤與棧溢出 66
4.4 本章小結(jié) 67
4.4.1 小問(wèn)題集錦 67
4.4.2 小結(jié) 68
第2部分 算法篇
第5章 基礎(chǔ)題目選解 69
5.1 字符串 69
5.1.1 WERTYU 69
5.1.2 TeX括號(hào) 70
5.1.3 周期串 71
5.2 高精度運(yùn)算 71
5.2.1 小學(xué)生算術(shù) 72
5.2.2 階乘的精確值 72
5.2.3 高精度運(yùn)算類bign 73
5.2.4 重載bign的常用運(yùn)算符 75
5.3 排序與檢索 77
5.3.1 6174問(wèn)題 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 黑盒測(cè)試 86
5.5.2 在線評(píng)測(cè)系統(tǒng) 87
5.5.3 推薦題目 88
第6章 數(shù)據(jù)結(jié)構(gòu)基礎(chǔ) 89
6.1 棧和隊(duì)列 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 對(duì)比測(cè)試 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 簡(jiǎn)單枚舉 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 下一個(gè)排列 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 八皇后問(wèn)題 123
7.4.2 素?cái)?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ù)碼問(wèn)題 131
7.5.4 結(jié)點(diǎn)查找表 133
7.6 訓(xùn)練參考 136
第8章 高效算法設(shè)計(jì) 138
8.1 算法分析初步 138
8.1.1 漸進(jìn)時(shí)間復(fù)雜度 138
8.1.2 上界分析 140
8.1.3 分治法 140
8.1.4 正確對(duì)待算法分析結(jié)果 142
8.2 再談排序與檢索 143
8.2.1 歸并排序 143
8.2.2 快速排序 145
8.2.3 二分查找 145
8.3 遞歸與分治 148
8.3.1 棋盤覆蓋問(wèn)題 148
8.3.2 循環(huán)日程表問(wèn)題 149
8.3.3 巨人與鬼 149
8.3.4 非線性方程求根 150
8.3.5 最大值最小化 151
8.4 貪心法 151
8.4.1 最優(yōu)裝載問(wèn)題 151
8.4.2 部分背包問(wèn)題 152
8.4.3 乘船問(wèn)題 152
8.4.4 選擇不相交區(qū)間 152
8.4.5 區(qū)間選點(diǎn)問(wèn)題 153
8.4.6 區(qū)間覆蓋問(wèn)題 154
8.4.7 Huffman編碼 154
8.5 訓(xùn)練參考 156
第3部分 競(jìng)賽篇
第9章 動(dòng)態(tài)規(guī)劃初步 158
9.1 數(shù)字三角形 158
9.1.1 問(wèn)題描述與狀態(tài)定義 158
9.1.2 記憶化搜索與遞推 159
9.2 DAG上的動(dòng)態(tài)規(guī)劃 161
9.2.1 DAG模型 161
9.2.2 最長(zhǎng)路及其字典序 162
9.2.3 固定終點(diǎn)的最長(zhǎng)路和最短路 163
9.3 0-1背包問(wèn)題 167
9.3.1 多階段決策問(wèn)題 167
9.3.2 規(guī)劃方向 168
9.3.3 滾動(dòng)數(shù)組 169
9.4 遞歸結(jié)構(gòu)中的動(dòng)態(tài)規(guī)劃 170
9.4.1 表達(dá)式上的動(dòng)態(tài)規(guī)劃 170
9.4.2 凸多邊形上的動(dòng)態(tài)規(guī)劃 171
9.4.3 樹上的動(dòng)態(tài)規(guī)劃 171
9.5 集合上的動(dòng)態(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 無(wú)平方因子的數(shù) 178
10.1.3 直線上的點(diǎn) 179
10.1.4 同余與模算術(shù) 180
10.2 排列與組合 182
10.2.1 楊輝三角與二項(xiàng)式定理 182
10.2.2 數(shù)論中的計(jì)數(shù)問(wèn)題 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 危險(xiǎn)的組合 192
10.3.5 統(tǒng)計(jì)n-k特殊集的數(shù)目 193
10.4 訓(xùn)練參考 194
第11章 圖論模型與算法 196
11.1 再談樹 196
11.1.1 無(wú)根樹轉(zhuǎn)有根樹 196
11.1.2 表達(dá)式樹 197
11.1.3 最小生成樹 199
11.1.4 并查集 200
11.2 最短路問(wèn)題 201
11.2.1 Dijkstra算法 202
11.2.2 稀疏圖的鄰接表 203
11.2.3 使用優(yōu)先隊(duì)列的Dijkstra算法 204
11.2.4 Bellman-Ford算法 205
11.2.5 Floyd算法 206
11.3 網(wǎng)絡(luò)流初步 207
11.3.1 最大流問(wèn)題 207
11.3.2 增廣路算法 208
11.3.3 最小割最大流定理 210
11.3.4 最小費(fèi)用最大流問(wèn)題 211
11.4 進(jìn)一步學(xué)習(xí)的參考 212
11.4.1 編程語(yǔ)言 213
11.4.2 數(shù)據(jù)結(jié)構(gòu) 213
11.4.3 算法設(shè)計(jì) 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 常見(jiàn)命令 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的安裝和測(cè)試 221
A.3.2 常見(jiàn)編譯選項(xiàng) 222
A.3.3 gdb簡(jiǎn)介 223
A.3.4 gdb的高級(jí)功能 224
A.4 淺談IDE 225
作者介紹
劉汝佳,1982年12月生,高中畢業(yè)于重慶市外國(guó)語(yǔ)學(xué)校。2000年3月獲得NO12000全國(guó)青少年信息學(xué)奧林匹克競(jìng)賽一等獎(jiǎng)第四名,進(jìn)入國(guó)家集訓(xùn)隊(duì),并因此保送到清華大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)系。大一時(shí)獲2001年ACM/ICPC國(guó)際大學(xué)生程序設(shè)計(jì)競(jìng)賽亞洲一上海賽區(qū)冠軍和2002年世界總決賽銀牌(世界第四),2005年獲學(xué)士學(xué)位,2008年獲碩士學(xué)位。學(xué)生時(shí)代曾為中國(guó)計(jì)算機(jī)學(xué)會(huì)NOI科學(xué)委員會(huì)學(xué)生委員,擔(dān)任J012002-2008中國(guó)國(guó)家隊(duì)教練,并為NOI系列比賽命題十余道,F(xiàn)為NOI競(jìng)賽委員會(huì)委員,并在NOI25周年時(shí)獲得中國(guó)計(jì)算機(jī)學(xué)會(huì)頒發(fā)的“特別貢獻(xiàn)獎(jiǎng)”。2004年至今共為ACM/ICPC亞洲賽區(qū)命題二十余道,擔(dān)任6次裁判和2次命題總監(jiān),并應(yīng)邀參加IOI和ACM/lCPC相關(guān)國(guó)際研討會(huì),發(fā)表論文兩篇。2004年初作為第一作者出版專著《算法藝術(shù)與信息學(xué)競(jìng)賽》,2009年出版譯著《編程挑戰(zhàn)》。多年來(lái)在全國(guó)二十余個(gè)城市進(jìn)行中學(xué)生競(jìng)賽培訓(xùn)工作,為北京、上海、吉隆坡等地的著名高校授課與宣講,并多次與TopCodet、百度和網(wǎng)易有道等知名企業(yè)合作舉辦比賽,讓更多的IT人才獲得展示自我的平臺(tái)。
文摘
本章介紹一些常見(jiàn)的圖論模型和算法,包括最小生成樹、單源最短路、每對(duì)結(jié)點(diǎn)的最短路、最大流、最小費(fèi)用最大流等。限于篇幅,很多算法都沒(méi)有給出完整的正確性證明(很容易在其他參考資料中找到相關(guān)內(nèi)容),但給出了簡(jiǎn)單、易懂的完整代碼,方便讀者參考。
在第6章中,我們第一次接觸到二叉樹;后來(lái),又接觸到了其他樹狀結(jié)構(gòu),如解答樹、BFS樹。本節(jié)將繼續(xù)討論“樹”這一話題。
有,?個(gè)頂點(diǎn)的樹具有以下3個(gè)特點(diǎn):連通、不含圈、恰好包含n-1條邊。有意思的是,具備上述3個(gè)特點(diǎn)中的任意兩個(gè),就可以推導(dǎo)出第3個(gè),有興趣的讀者不妨試著證明一下。
1 1.1.1無(wú)根樹轉(zhuǎn)有根樹
輸入一個(gè),z個(gè)結(jié)點(diǎn)的無(wú)根樹的各條邊,并指定一個(gè)根結(jié)點(diǎn),要求把該樹轉(zhuǎn)化為有根樹,輸出各個(gè)結(jié)點(diǎn)的父親編號(hào)。
序言
“是的!蔽椅⑿Φ。
“這是怎樣的一本書呢?”朋友很好奇。
“C語(yǔ)言、算法和題解!蔽一卮。
“什么?幾樣?xùn)|西混著嗎?”朋友很吃驚。
“對(duì)!蔽倚α,“這是我思考許久后做出的決定!
大學(xué)之前的我
12年前,當(dāng)我翻開SamA.Abolrous所著《C語(yǔ)言三日通》的第一頁(yè)時(shí),我不會(huì)想到自己會(huì)有機(jī)會(huì)編寫一本講解C語(yǔ)言的書籍。當(dāng)時(shí),我真的只花了3天就學(xué)完了這本書,并且自信滿滿:“我學(xué)會(huì)C語(yǔ)言啦!我要用它寫出各種有趣、有用的程序!”但漸漸地,我認(rèn)識(shí)到了:雖然淺顯易懂,但書中的內(nèi)容只是語(yǔ)言入門,離實(shí)際應(yīng)用還有較大差距,就好比小學(xué)生學(xué)會(huì)造句以后還要下很大功夫才能寫出像樣的作文。
第二本對(duì)我影響很大的書是Sun公司的Peter van derLinden(PvdL)所著的《C程序設(shè)計(jì)奧秘》。作者稱該書應(yīng)該是每一個(gè)程序員“在C語(yǔ)言方面的第二本書”,因?yàn)椤皶薪^大部分內(nèi)容、技巧和技術(shù)在其他任何書中都找不到”。原先我只是把自己當(dāng)成是程序員,但在閱讀的過(guò)程中,我開始漸漸了解到硬件設(shè)計(jì)者、編譯程序開發(fā)者、操作系統(tǒng)編寫者和標(biāo)準(zhǔn)制定者是怎么想的。繼續(xù)的閱讀增強(qiáng)了我的領(lǐng)悟:要學(xué)好C語(yǔ)言,絕非熟悉語(yǔ)法和語(yǔ)義這么簡(jiǎn)單。
后來(lái),我自學(xué)了數(shù)據(jù)結(jié)構(gòu),懂得了編程處理數(shù)據(jù)的基本原則和方法,然后又學(xué)習(xí)了8086匯編語(yǔ)言,甚至曾沒(méi)日沒(méi)夜地用SoftICE調(diào)試《仙劍奇?zhèn)b傳》,并把學(xué)到的技巧運(yùn)用到自己開發(fā)的游戲引擎中。再后來(lái),我通過(guò)《電腦愛(ài)好者》雜志上的一則不起眼的廣告了解到了全國(guó)信息學(xué)奧林匹克聯(lián)賽(當(dāng)時(shí)稱為分區(qū)聯(lián)賽,NOIP是后來(lái)的稱謂)。“學(xué)了這么久編程,要不參加個(gè)比賽試試?”想到這里,我拉著學(xué)校里另外一個(gè)自學(xué)編程的同學(xué),找老師帶我們參加了1997年的聯(lián)賽——在這之前,學(xué)校并不知道有這個(gè)比賽。憑借自己的數(shù)學(xué)功底和對(duì)計(jì)算機(jī)的認(rèn)識(shí),我在初賽(筆試)中獲得全市第二的成績(jī),進(jìn)入了復(fù)賽(上機(jī))?晌业纳蠙C(jī)編程比賽的結(jié)果是“慘烈”的:第一題有一個(gè)測(cè)試點(diǎn)超過(guò)了整數(shù)的表示范圍;第二題看漏了一個(gè)條件,一分都沒(méi)得;第三題使用了窮舉法,全部超時(shí)?纪曛笪以詾槟艿脻M分的,結(jié)果卻只得了100分中的20多分,名落孫山。
痛定思痛,我開始反思這個(gè)比賽。一個(gè)偶然的機(jī)會(huì),我拿到了一本聯(lián)賽培訓(xùn)教材。書上說(shuō),比賽的核心是算法(Algorithm),并且推薦使用Pascal語(yǔ)言,因?yàn)樗m合描述算法。我從別人那里復(fù)制來(lái)了TurboPascal7.0(那時(shí)網(wǎng)絡(luò)并不發(fā)達(dá)),開始研究起來(lái)。由于先學(xué)的是C語(yǔ)言,所以我剛開始學(xué)習(xí)Pascal時(shí)感到有些不習(xí)慣:賦值不是“=”而是“:=”,簡(jiǎn)潔的花括號(hào)變成了累贅的begin和end,if之后要加個(gè)then,而且和else之間不允許寫分號(hào)……但很快我就發(fā)現(xiàn),這些都不是本質(zhì)問(wèn)題。在編寫競(jìng)賽題的程序時(shí),我并不會(huì)用到太多的高級(jí)語(yǔ)法。Pascal的語(yǔ)法雖然稍微啰嗦一點(diǎn),但總體來(lái)說(shuō)是很清晰的。就這樣,我只花了不到一天時(shí)間就把語(yǔ)法習(xí)慣從C轉(zhuǎn)到了Pascal,剩下的知識(shí)就是在不斷編程中慢慢地學(xué)習(xí)和熟練——學(xué)習(xí)C語(yǔ)言的過(guò)程是痛苦的,但收益也是巨大的,“輕松轉(zhuǎn)到Pascal”只是其中一個(gè)小小的例子。
我學(xué)習(xí)計(jì)算機(jī),從一開始就不是為了參加競(jìng)賽,因此,在編寫算法程序之余,我?guī)缀蹩偸鞘褂檬煜さ腃語(yǔ)言,有時(shí)還會(huì)用點(diǎn)匯編,并沒(méi)有覺(jué)得有何不妥。隨著編寫應(yīng)用程序的經(jīng)驗(yàn)逐漸豐富,我開始慶幸自己先學(xué)的是C語(yǔ)言——在我購(gòu)買的各類技術(shù)書籍中,幾乎全部使用的是C語(yǔ)言而不是Pascal語(yǔ)言,盡管偶爾有用Delphi的文章,但這種語(yǔ)言似乎除了構(gòu)建漂亮的界面比較方便之外,并沒(méi)有太多的“技術(shù)含量”。我始終保持著對(duì)C語(yǔ)言的熟悉,而事實(shí)證明這對(duì)我的職業(yè)生涯發(fā)揮了巨大的作用。
同類熱銷圖書
書名 | 作者 | 出版社 | 價(jià)格 | 購(gòu)買 |
華圖版2012-2013廣東省新任教師公開招聘考試專用教材:教.. | 《廣東省新.. | 教育科學(xué)出版社 | ¥52.00¥31.20 |
詳情 |
公共營(yíng)養(yǎng)師(基礎(chǔ)知識(shí)) | 中國(guó)就業(yè)培.. | 中國(guó)勞動(dòng)社會(huì)保障.. | ¥48.00¥36.00 |
詳情 |
華圖版2013教師公開招聘考試專用系列教材:學(xué)科專業(yè)知識(shí)(.. | 《教師公開.. | 教育科學(xué)出版社 | ¥46.00¥28.10 |
詳情 |
教育學(xué)考試大綱 教師資格考試用書(適用于中學(xué)教師資格申.. | 教育部人事.. | 北京師范大學(xué)出版.. | ¥10.00¥7.30 |
詳情 |
2012全國(guó)專利代理人資格考試指南 | 專利代理人.. | 知識(shí)產(chǎn)權(quán)出版社 | ¥120.00¥95.10 |
詳情 |
注冊(cè)化工工程師執(zhí)考公共基礎(chǔ)考試復(fù)習(xí)教程 | 《注冊(cè)化工.. | 天津大學(xué)出版社 | ¥99.00¥74.20 |
詳情 |
美容師(高級(jí)) | 中國(guó)就業(yè)培.. | 中國(guó)勞動(dòng)社會(huì)保障.. | ¥45.00¥37.30 |
詳情 |
美容師(中級(jí)) | 中國(guó)就業(yè)培.. | 中國(guó)勞動(dòng)社會(huì)保障.. | ¥39.00¥32.40 |
詳情 |
公共營(yíng)養(yǎng)師(國(guó)家職業(yè)資格三級(jí)) | 中國(guó)就業(yè)培.. | 中國(guó)勞動(dòng)社會(huì)保障.. | ¥52.00¥40.00 |
詳情 |
華圖版2012-2013廣東省新任教師公開招聘考試專用教材:教.. | 《廣東省新.. | 教育科學(xué)出版社 | ¥24.00¥15.60 |
詳情 |
注冊(cè)化工工程師執(zhí)業(yè)資格考試專業(yè)基礎(chǔ)考試復(fù)習(xí)教程(第2版.. | 本書編委會(huì).. | 天津大學(xué)出版社 | ¥68.00¥54.40 |
詳情 |
測(cè)繪綜合能力(注冊(cè)測(cè)繪師資格輔導(dǎo)教材) | 國(guó)家測(cè)繪地.. | 測(cè)繪出版社 | ¥75.00¥75.00 |
詳情 |
美容師(初級(jí)) | 中國(guó)就業(yè)培.. | 中國(guó)勞動(dòng)社會(huì)保障.. | ¥28.00¥23.20 |
詳情 |
公共營(yíng)養(yǎng)師(國(guó)家職業(yè)資格四級(jí)) | 中國(guó)就業(yè)培.. | 中國(guó)勞動(dòng)社會(huì)保障.. | ¥43.00¥35.70 |
詳情 |
注冊(cè)環(huán)保工程師執(zhí)考公共基礎(chǔ)考試考試復(fù)習(xí)教程 | 《注冊(cè)環(huán)保.. | 天津大學(xué)出版社 | ¥99.00¥77.50 |
詳情 |
2013最新版 教師公開招聘考試專用系列教材:學(xué)科專業(yè)知識(shí).. | 《教師公開.. | 教育科學(xué)出版社 | ¥46.00¥28.10 |
詳情 |
測(cè)繪案例分析(注冊(cè)測(cè)繪師資格輔導(dǎo)教材) | 國(guó)家測(cè)繪局.. | 測(cè)繪出版社 | ¥52.00¥52.00 |
詳情 |
注冊(cè)化工工程師執(zhí)業(yè)資格考試專業(yè)考試·復(fù)習(xí)教程 | 天津大學(xué)化.. | 天津大學(xué)出版社 | ¥80.00¥64.00 |
詳情 |
采購(gòu)師(基礎(chǔ)知識(shí)) | 中國(guó)就業(yè)培.. | 中國(guó)勞動(dòng)社會(huì)保障.. | ¥25.00¥20.00 |
詳情 |
專利法律知識(shí)分冊(cè) | 何越峰 主.. | 知識(shí)產(chǎn)權(quán)出版社 | ¥86.00¥69.70 |
詳情 |
華圖版2013教師公開招聘考試專用系列教材:學(xué)科專業(yè)知識(shí)(.. | 《教師公開.. | 教育科學(xué)出版社 | ¥46.00¥26.90 |
詳情 |
華圖版2013教師公開招聘考試專用系列教材:學(xué)科專業(yè)知識(shí)(.. | 《教師公開.. | 教育科學(xué)出版社 | ¥46.00¥28.10 |
詳情 |
華圖版2013教師公開招聘考試專用系列教材:學(xué)科專業(yè)知識(shí)(.. | 《教師公開.. | 教育科學(xué)出版社 | ¥46.00¥28.10 |
詳情 |
高級(jí)人力資源管理師 | 劉桂林 主.. | 中國(guó)勞動(dòng)社會(huì)保障.. | ¥43.00¥34.40 |
詳情 |
華圖版2013教師公開招聘考試專用系列教材:學(xué)科專業(yè)知識(shí)(.. | 《教師公開.. | 教育科學(xué)出版社 | ¥46.00¥28.10 |
詳情 |