算法競賽入門經典 ..

    • 所屬分類:
      其他職業資..
    • 作者:
    • 出版社:
    • ISBN:730220608
    • 出版日期:
    • 原價:
      ¥24.00元
      現價:¥0.00元
    • 本書信息由合作網站提供,請前往以下網站購買:

      京東商城

       

      當當網

    圖書簡介

    品牌:清華大學出版社
    詳情

    基本信息

    書名:算法競賽入門經典

    原價:24.00元

    售價:20.4元,便宜3.6元,折扣85

    作者:劉汝佳

    出版社:清華大學出版社

    出版日期:2009-11-01

    ISBN:9787302206088

    字數:

    頁碼:225

    版次:1

    裝幀:平裝

    開本:16

    商品重量:0.440kg

    編輯推薦


    《算法藝術與信息學競賽:算法競賽入門經典》分為三部分:語言篇、算法篇和競賽篇。首先以實踐導向的方式講解了C/C++的基本語法,然后介紹了算法和數據結構的基礎知識,最后是動態規劃、數學和圖論三大專題。全書短小精悍,但內容全面,既可作為教材,又方便自學。算法在計算機科學乃至于整個科學界的作用日益明顯。它們不僅具有重要的理論意義,而且解決了生產生活中的很多實際問題。程序設計競賽就是這樣一類以算法為核心但是偏重實用性的比賽。隨著各類比賽規模的逐漸擴大,程序設計競賽在各高校、IT公司和其他社會各界中越來越受到認可和重視。很多研究工作者和從事IT行業的人盡管不參加這類競賽,但也希望具有這方面的能力,受到這方面的專業訓練。
    本叢書的前身是5年前的同名圖書《算法藝術與信息學競賽》。5年來,更多的人加入到參賽、命題和組織的隊伍中來,各類競賽的參賽和命題水平也有了長足的進步。作者深知當年的經典之作開始顯得題目陳舊,知識的廣度和深度也無法達到當今高水平比賽的要求了。因此,將原書的內容擴充、完善后分成三本,以叢書的形式依次展現給讀者。這三本書循序漸進,從零語言基礎開始講起,直到超越競賽本身,真正把算法當成“藝術”。
    《算法藝術與信息學競賽:算法競賽入門經典》適合語言零基礎的初學者,涵蓋算法競賽的主要知識點,大量經驗教訓與比賽技巧,簡潔、清晰、高效的示例代碼,豐富的輔助教學資源與配套習題。

    內容提要


    《算法藝術與信息學競賽:算法競賽入門經典》是一本算法競賽的入門教材,把C/C++語言、算法和解題有機地結合在了一起,淡化理論,注重學習方法和實踐技巧。全書內容分為11章,包括程序設計入門、循環結構程序設計、數組和字符串、函數和遞歸、基礎題目選解、數據結構基礎、暴力求解法、高效算法設計、動態規劃初步、數學概念與方法、圖論模型與算法,覆蓋了算法競賽入門所需的主要知識點,并附有大量習題。書中的代碼規范、簡潔、易懂,不僅能幫助讀者理解算法原理,還能教會讀者很多實用的編程技巧。另外,書中包含的各種開發、測試和調試技巧也是在傳統的語言、算法類書籍中難以見到的!端惴ǜ傎惾腴T經典》可作為全國青少年信息學奧林匹克聯賽(NOIP)的復賽教材及ACM國際大學。

    目錄


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

    第2章 循環結構程序設計 16
    2.1 for循環 16
    2.2 循環結構程序設計 19
    2.3 文件操作 23
    2.4 小結與習題 27
    2.4.1 輸出技巧 28
    2.4.2 浮點數陷阱 28
    2.4.3 64位整數 28
    2.4.4 C++中的輸入輸出 29
    2.4.5 小結 30
    2.4.6 上機練習 31

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

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

    第2部分 算法篇
    第5章 基礎題目選解 69
    5.1 字符串 69
    5.1.1 WERTYU 69
    5.1.2 TeX括號 70
    5.1.3 周期串 71
    5.2 高精度運算 71
    5.2.1 小學生算術 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 數學基礎 81
    5.4.1 Cantor的數表 81
    5.4.2 因子和階乘 82
    5.4.3 果園里的樹 84
    5.4.4 多少塊土地 86
    5.5 訓練參考 86
    5.5.1 黑盒測試 86
    5.5.2 在線評測系統 87
    5.5.3 推薦題目 88

    第6章 數據結構基礎 89
    6.1 棧和隊列 89
    6.1.1 卡片游戲 89
    6.1.2 鐵軌 91
    6.2 鏈表 93
    6.2.1 初步分析 93
    6.2.2 鏈式結構 95
    6.2.3 對比測試 96
    6.2.4 隨機數發生器 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 拓撲排序 110
    6.4.4 歐拉回路 111
    6.5 訓練參考 112

    第7章 暴力求解法 114
    7.1 簡單枚舉 114
    7.1.1 除法 114
    7.1.2 最大乘積 115
    7.1.3 分數拆分 115
    7.1.4 雙基回文數 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 增量構造法 120
    7.3.2 位向量法 121
    7.3.3 二進制法 122
    7.4 回溯法 123
    7.4.1 八皇后問題 123
    7.4.2 素數環 126
    7.4.3 困難的串 127
    7.4.4 帶寬 128
    7.5 隱式圖搜索 129
    7.5.1 隱式樹的遍歷 129
    7.5.2 一般隱式圖的遍歷 130
    7.5.3 八數碼問題 131
    7.5.4 結點查找表 133
    7.6 訓練參考 136

    第8章 高效算法設計 138
    8.1 算法分析初步 138
    8.1.1 漸進時間復雜度 138
    8.1.2 上界分析 140
    8.1.3 分治法 140
    8.1.4 正確對待算法分析結果 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 循環日程表問題 149
    8.3.3 巨人與鬼 149
    8.3.4 非線性方程求根 150
    8.3.5 最大值最小化 151
    8.4 貪心法 151
    8.4.1 最優裝載問題 151
    8.4.2 部分背包問題 152
    8.4.3 乘船問題 152
    8.4.4 選擇不相交區間 152
    8.4.5 區間選點問題 153
    8.4.6 區間覆蓋問題 154
    8.4.7 Huffman編碼 154
    8.5 訓練參考 156

    第3部分 競賽篇
    第9章 動態規劃初步 158
    9.1 數字三角形 158
    9.1.1 問題描述與狀態定義 158
    9.1.2 記憶化搜索與遞推 159
    9.2 DAG上的動態規劃 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 規劃方向 168
    9.3.3 滾動數組 169
    9.4 遞歸結構中的動態規劃 170
    9.4.1 表達式上的動態規劃 170
    9.4.2 凸多邊形上的動態規劃 171
    9.4.3 樹上的動態規劃 171
    9.5 集合上的動態規劃 172
    9.5.1 狀態及其轉移 173
    9.5.2 隱含的階段 173
    9.6 訓練參考 174

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

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

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

    作者介紹


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

    文摘


    插圖:


    本章介紹一些常見的圖論模型和算法,包括最小生成樹、單源最短路、每對結點的最短路、最大流、最小費用最大流等。限于篇幅,很多算法都沒有給出完整的正確性證明(很容易在其他參考資料中找到相關內容),但給出了簡單、易懂的完整代碼,方便讀者參考。
    在第6章中,我們第一次接觸到二叉樹;后來,又接觸到了其他樹狀結構,如解答樹、BFS樹。本節將繼續討論“樹”這一話題。
    有,?個頂點的樹具有以下3個特點:連通、不含圈、恰好包含n-1條邊。有意思的是,具備上述3個特點中的任意兩個,就可以推導出第3個,有興趣的讀者不妨試著證明一下。
    1 1.1.1無根樹轉有根樹
    輸入一個,z個結點的無根樹的各條邊,并指定一個根結點,要求把該樹轉化為有根樹,輸出各個結點的父親編號。

    序言


    “聽說你最近在寫一本關于算法競賽入門的書?”朋友問我。
    “是的!蔽椅⑿Φ馈
    “這是怎樣的一本書呢?”朋友很好奇。
    “C語言、算法和題解。”我回答。
    “什么?幾樣東西混著嗎?”朋友很吃驚。
    “對!蔽倚α,“這是我思考許久后做出的決定!
    大學之前的我
    12年前,當我翻開SamA.Abolrous所著《C語言三日通》的第一頁時,我不會想到自己會有機會編寫一本講解C語言的書籍。當時,我真的只花了3天就學完了這本書,并且自信滿滿:“我學會C語言啦!我要用它寫出各種有趣、有用的程序!”但漸漸地,我認識到了:雖然淺顯易懂,但書中的內容只是語言入門,離實際應用還有較大差距,就好比小學生學會造句以后還要下很大功夫才能寫出像樣的作文。
    第二本對我影響很大的書是Sun公司的Peter van derLinden(PvdL)所著的《C程序設計奧秘》。作者稱該書應該是每一個程序員“在C語言方面的第二本書”,因為“書中絕大部分內容、技巧和技術在其他任何書中都找不到”。原先我只是把自己當成是程序員,但在閱讀的過程中,我開始漸漸了解到硬件設計者、編譯程序開發者、操作系統編寫者和標準制定者是怎么想的。繼續的閱讀增強了我的領悟:要學好C語言,絕非熟悉語法和語義這么簡單。
    后來,我自學了數據結構,懂得了編程處理數據的基本原則和方法,然后又學習了8086匯編語言,甚至曾沒日沒夜地用SoftICE調試《仙劍奇俠傳》,并把學到的技巧運用到自己開發的游戲引擎中。再后來,我通過《電腦愛好者》雜志上的一則不起眼的廣告了解到了全國信息學奧林匹克聯賽(當時稱為分區聯賽,NOIP是后來的稱謂)!皩W了這么久編程,要不參加個比賽試試?”想到這里,我拉著學校里另外一個自學編程的同學,找老師帶我們參加了1997年的聯賽——在這之前,學校并不知道有這個比賽。憑借自己的數學功底和對計算機的認識,我在初賽(筆試)中獲得全市第二的成績,進入了復賽(上機)?晌业纳蠙C編程比賽的結果是“慘烈”的:第一題有一個測試點超過了整數的表示范圍;第二題看漏了一個條件,一分都沒得;第三題使用了窮舉法,全部超時?纪曛笪以詾槟艿脻M分的,結果卻只得了100分中的20多分,名落孫山。
    痛定思痛,我開始反思這個比賽。一個偶然的機會,我拿到了一本聯賽培訓教材。書上說,比賽的核心是算法(Algorithm),并且推薦使用Pascal語言,因為它適合描述算法。我從別人那里復制來了TurboPascal7.0(那時網絡并不發達),開始研究起來。由于先學的是C語言,所以我剛開始學習Pascal時感到有些不習慣:賦值不是“=”而是“:=”,簡潔的花括號變成了累贅的begin和end,if之后要加個then,而且和else之間不允許寫分號……但很快我就發現,這些都不是本質問題。在編寫競賽題的程序時,我并不會用到太多的高級語法。Pascal的語法雖然稍微啰嗦一點,但總體來說是很清晰的。就這樣,我只花了不到一天時間就把語法習慣從C轉到了Pascal,剩下的知識就是在不斷編程中慢慢地學習和熟練——學習C語言的過程是痛苦的,但收益也是巨大的,“輕松轉到Pascal”只是其中一個小小的例子。
    我學習計算機,從一開始就不是為了參加競賽,因此,在編寫算法程序之余,我幾乎總是使用熟悉的C語言,有時還會用點匯編,并沒有覺得有何不妥。隨著編寫應用程序的經驗逐漸豐富,我開始慶幸自己先學的是C語言——在我購買的各類技術書籍中,幾乎全部使用的是C語言而不是Pascal語言,盡管偶爾有用Delphi的文章,但這種語言似乎除了構建漂亮的界面比較方便之外,并沒有太多的“技術含量”。我始終保持著對C語言的熟悉,而事實證明這對我的職業生涯發揮了巨大的作用。

    目錄

    同類熱銷圖書

    書名 作者 出版社 價格 購買
    華圖版2012-2013廣東省新任教師公開招聘考試專用教材:教.. 《廣東省新.. 教育科學出版社

    ¥52.00

    ¥31.20
    詳情
    公共營養師(基礎知識) 中國就業培.. 中國勞動社會保障..

    ¥48.00

    ¥36.00
    詳情
    華圖版2013教師公開招聘考試專用系列教材:學科專業知識(.. 《教師公開.. 教育科學出版社

    ¥46.00

    ¥28.10
    詳情
    教育學考試大綱 教師資格考試用書(適用于中學教師資格申.. 教育部人事.. 北京師范大學出版..

    ¥10.00

    ¥7.30
    詳情
    2012全國專利代理人資格考試指南 專利代理人.. 知識產權出版社

    ¥120.00

    ¥95.10
    詳情
    注冊化工工程師執考公共基礎考試復習教程 《注冊化工.. 天津大學出版社

    ¥99.00

    ¥74.20
    詳情
    美容師(高級) 中國就業培.. 中國勞動社會保障..

    ¥45.00

    ¥37.30
    詳情
    美容師(中級) 中國就業培.. 中國勞動社會保障..

    ¥39.00

    ¥32.40
    詳情
    公共營養師(國家職業資格三級) 中國就業培.. 中國勞動社會保障..

    ¥52.00

    ¥40.00
    詳情
    華圖版2012-2013廣東省新任教師公開招聘考試專用教材:教.. 《廣東省新.. 教育科學出版社

    ¥24.00

    ¥15.60
    詳情
    注冊化工工程師執業資格考試專業基礎考試復習教程(第2版.. 本書編委會.. 天津大學出版社

    ¥68.00

    ¥54.40
    詳情
    測繪綜合能力(注冊測繪師資格輔導教材) 國家測繪地.. 測繪出版社

    ¥75.00

    ¥75.00
    詳情
    美容師(初級) 中國就業培.. 中國勞動社會保障..

    ¥28.00

    ¥23.20
    詳情
    公共營養師(國家職業資格四級) 中國就業培.. 中國勞動社會保障..

    ¥43.00

    ¥35.70
    詳情
    注冊環保工程師執考公共基礎考試考試復習教程 《注冊環保.. 天津大學出版社

    ¥99.00

    ¥77.50
    詳情
    2013最新版 教師公開招聘考試專用系列教材:學科專業知識.. 《教師公開.. 教育科學出版社

    ¥46.00

    ¥28.10
    詳情
    測繪案例分析(注冊測繪師資格輔導教材) 國家測繪局.. 測繪出版社

    ¥52.00

    ¥52.00
    詳情
    注冊化工工程師執業資格考試專業考試·復習教程 天津大學化.. 天津大學出版社

    ¥80.00

    ¥64.00
    詳情
    采購師(基礎知識) 中國就業培.. 中國勞動社會保障..

    ¥25.00

    ¥20.00
    詳情
    專利法律知識分冊 何越峰 主.. 知識產權出版社

    ¥86.00

    ¥69.70
    詳情
    華圖版2013教師公開招聘考試專用系列教材:學科專業知識(.. 《教師公開.. 教育科學出版社

    ¥46.00

    ¥26.90
    詳情
    華圖版2013教師公開招聘考試專用系列教材:學科專業知識(.. 《教師公開.. 教育科學出版社

    ¥46.00

    ¥28.10
    詳情
    華圖版2013教師公開招聘考試專用系列教材:學科專業知識(.. 《教師公開.. 教育科學出版社

    ¥46.00

    ¥28.10
    詳情
    高級人力資源管理師 劉桂林 主.. 中國勞動社會保障..

    ¥43.00

    ¥34.40
    詳情
    華圖版2013教師公開招聘考試專用系列教材:學科專業知識(.. 《教師公開.. 教育科學出版社

    ¥46.00

    ¥28.10
    詳情
    久久精品国产亚洲AV无码偷窥| 爽到高潮无码视频在线观看| 成人免费无码H在线观看不卡| 一本大道久久东京热无码AV| 中文字幕亚洲综合久久菠萝蜜| 少妇人妻偷人精品无码视频 | 国偷自产短视频中文版| 最近2019免费中文字幕视频三| 午夜福利av无码一区二区| 亚洲中文字幕无码久久2017| 日韩成人无码中文字幕| 免费无码黄十八禁网站在线观看| 精品久久久无码中文字幕| 波多野结AV衣东京热无码专区| yellow中文字幕久久网| AV大片在线无码永久免费| 中文字幕精品一区二区三区视频| 国产午夜无码视频在线观看| 久草中文在线观看| 波多野结衣亚洲AV无码无在线观看| 亚洲精品99久久久久中文字幕| 狠狠精品干练久久久无码中文字幕| 无码精品A∨在线观看免费| 大学生无码视频在线观看| 国产亚洲大尺度无码无码专线| 中文字幕亚洲男人的天堂网络| 亚洲AV无码国产在丝袜线观看| 日本精品中文字幕| 国产精品无码一区二区在线| 亚洲中文字幕无码久久2020| 亚洲天堂中文字幕| 国产亚洲美日韩AV中文字幕无码成人| 无码精品尤物一区二区三区| 中文字幕精品视频| 亚洲AV中文无码乱人伦在线视色| 小SAO货水好多真紧H无码视频 | 久久久久成人精品无码中文字幕 | 亚洲国产精品无码专区在线观看 | 亚洲高清无码专区视频| 国产精品无码久久综合| 亚洲一区AV无码少妇电影☆| 頁面加載時間:0.023168秒