挑戰(zhàn)編程

出版時(shí)間:2009-7  出版社:清華大學(xué)出版社  作者:斯基納  頁數(shù):302  譯者:劉汝佳  
Tag標(biāo)簽:無  

前言

不管對(duì)初出茅廬的新人還是身經(jīng)百戰(zhàn)的老手,用“挑戰(zhàn)”一詞形容程序設(shè)計(jì)競(jìng)賽是再合適不過的了。酷愛編程的人們往往喜歡挑戰(zhàn),但大多數(shù)程序員對(duì)各種程序設(shè)計(jì)競(jìng)賽卻是“敬而遠(yuǎn)之”,為什么會(huì)這樣呢?原因在于,學(xué)習(xí)編程語言和軟件開發(fā)的知識(shí)只是接受這些挑戰(zhàn)的必要而非充分條件。要想在程序設(shè)計(jì)競(jìng)賽中脫穎而出,還需要更多的知識(shí)和技能。而這些知識(shí)和技能,卻是很難在傳統(tǒng)的課堂和教科書中學(xué)到的。本書的目標(biāo)讀者便是那些已經(jīng)具備初步的編程技能,對(duì)程序設(shè)計(jì)競(jìng)賽充滿好奇,希望有機(jī)會(huì)武裝自己、接受編程挑戰(zhàn)的人,以及他們的老師和教練(甚至父母)。即使不參加任何競(jìng)賽,從本書的編程挑戰(zhàn)中學(xué)到的東西,也會(huì)對(duì)程序員的職業(yè)生涯產(chǎn)生重要影響,更不用說這些挑戰(zhàn)本身就是充滿樂趣、引人入勝的。本書文字精練、通俗易懂。盡管每一章都涉及一個(gè)不同的領(lǐng)域,但篇幅卻短得甚至可以一口氣讀完。另外,所有題目均附有難度、流行度等客觀評(píng)價(jià)系數(shù),并可以在線提交。寫出程序并不意味著完善的解決了難題,只有通過了評(píng)測(cè)系統(tǒng)的嚴(yán)格把關(guān)才能讓人信服。全書由劉汝佳主譯,并得到王希、楊銳、尹淳興、邱前皓等的大力協(xié)助。感謝兩位作者算法大師Steven s.Skiena教授和在線評(píng)測(cè)系統(tǒng)uVaOJ的創(chuàng)立者M(jìn)iguel A.Revilla教授邀請(qǐng)譯者完成本書的翻譯工作,提供了書的源程序和插圖,并討論書中的一些細(xì)節(jié);感謝清華大學(xué)出版社的龍放銘編輯,他對(duì)工作認(rèn)真負(fù)責(zé)的態(tài)度和嚴(yán)謹(jǐn)?shù)目茖W(xué)作風(fēng)令人欽佩。盡管我們付出了許多努力,但譯文中難免有翻譯不當(dāng)之處,敬請(qǐng)批評(píng)指正。

內(nèi)容概要

本書分為14章,分別介紹在線評(píng)測(cè)系統(tǒng)的基本使用方法、數(shù)據(jù)結(jié)構(gòu)、字符串、排序、算術(shù)與代數(shù)、組合數(shù)學(xué)、數(shù)論、回溯法、圖遍歷、圖算法、動(dòng)態(tài)規(guī)劃、網(wǎng)格、幾何,以及計(jì)算幾何,并在附錄中介紹了一些著名的程序設(shè)計(jì)競(jìng)賽以及相應(yīng)的備賽建議與比賽技巧。每章的正文用十余頁的篇幅覆蓋了該領(lǐng)域最核心的概念和算法,然后給出八道可在線提交的完整編程挑戰(zhàn)題目供讀者練習(xí)。    全書內(nèi)容緊湊、信息量大,是各類程序設(shè)計(jì)競(jìng)賽的選手與教練不可多得的參考書。

作者簡(jiǎn)介

Steven S.Skiena是美國(guó)Stony Brook大學(xué)計(jì)算機(jī)教授,研究方向包括圖、串和幾何算法的設(shè)計(jì)和應(yīng)用(尤其是生物方面)。
他曾獲ONR青年研究員獎(jiǎng)和IEEE計(jì)算機(jī)科學(xué)與工程本科教學(xué)獎(jiǎng),并著有四本書籍,包括“The Algorithm Design Manual”和“Calculated Bets:Computers,Gambl

書籍目錄

譯者序前言第1章 入門  1.1 初識(shí)自動(dòng)評(píng)測(cè)系統(tǒng)    1.1.1 評(píng)測(cè)系統(tǒng)反饋  1.2 挑選你的武器    1.2.1 程序設(shè)計(jì)語言    1.2.2 如何閱讀本書的程序    1.2.3 標(biāo)準(zhǔn)輸入輸出  1.3 編程提示  1.4 基本數(shù)據(jù)類型  1.5 關(guān)于習(xí)題  1.6 習(xí)題    1.6.1 3n+1問題(3n+l Problem)    1.6.2 掃雷(Minesweeper)    1.6.3 旅行(The Trip)    1.6.4 液晶顯示屏(LC~Display)    1.6.5 圖形化編輯器(Graphical Editor)    1.6.6 解釋器(Interpreter)    1.6.7 將軍fCheck the Checkl    1.6.8 澳大利亞投票(Australian Voting)  1.7 提示  1.8 注解第2章 數(shù)據(jù)結(jié)構(gòu)  2.1 基本數(shù)據(jù)結(jié)構(gòu)    2.1.1 棧    2.1.2 隊(duì)列    2.1.3 字典    2.1.4 優(yōu)先隊(duì)列    2.1.5 集合  2.2 庫(kù)函數(shù)    2.2.1 C++標(biāo)準(zhǔn)模板庫(kù)  2.3 程序設(shè)計(jì)實(shí)例:紙牌大戰(zhàn)  2.4 準(zhǔn)備行動(dòng)  2.5 字符串輸入輸出  2.6 贏得戰(zhàn)爭(zhēng)  2.7 測(cè)試與調(diào)試  2.8 習(xí)題    2.8.1 快樂的跳躍者(Jolly Jumper)    2.8.2 撲克牌型(Poker Hands)    2.8.3 罷工(Hartals)    2.8.4 解密(Crypt Kicker)    2.8.5 完美洗牌術(shù)(Stack’em Up)    2.8.6 ErdSs數(shù)(ErdSs Numbersl    2.8.7 比賽記分板(Contest Scoreboard)    2.8.8 Yahtzee游戲(Yahtzee)  2.9 習(xí)題  2.10 注解第3章 字符串    3.1 字符編碼    3.2 字符串的表示    3.3 程序設(shè)計(jì)實(shí)例:公司更名    3.4 模式查找    3.5 字符串操作    3.6 程序的完成    3.7 字符串庫(kù)函數(shù)    3.8 習(xí)題    3.8.1 WERTYU鍵盤fWERTYU)    3.8.2 尋找單詞(Where’s Waldorf?)    3.8.3 公共排列(Common Permutation)    3.8.4 解密II(Crypt Kicker II)    3.8.5 自動(dòng)評(píng)測(cè)腳本(Automated Judge Script)    3.8.6 文件碎片(File Fragmentation)    3.8.7 Doublet序列fDoublets) ……第4章 排序第5章 算術(shù)與代數(shù)第6章 組合數(shù)學(xué)第7章 數(shù)論第8章 回溯法第9章 圖遍歷第10章 圖算法第11章 動(dòng)態(tài)規(guī)劃第12章 網(wǎng)格第13章 幾何第14章 計(jì)算幾何附錄A參考文獻(xiàn)

章節(jié)摘錄

插圖:第2章數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu)是復(fù)雜算法的核心。數(shù)據(jù)結(jié)構(gòu)的選擇會(huì)對(duì)算法實(shí)現(xiàn)的復(fù)雜性產(chǎn)生巨大的影響。選擇了正確的數(shù)據(jù)結(jié)構(gòu),編程會(huì)十分容易;選擇了錯(cuò)誤的數(shù)據(jù)結(jié)構(gòu),則需要大量的時(shí)間和代碼量作為決策失誤的代價(jià)。在本章中,你將復(fù)習(xí)到一些每個(gè)程序員都應(yīng)熟悉的基礎(chǔ)數(shù)據(jù)結(jié)構(gòu)。我們將以一個(gè)孩子們喜歡的撲克牌游戲作為背景展開討論。很多經(jīng)典的編程題目都是以游戲?yàn)楸尘暗?。幾乎所有人在初學(xué)編程的課程中都會(huì)接觸到漢諾塔(HanoiTower)、騎士周游、八皇后這樣的游戲。2.1 基本數(shù)據(jù)結(jié)構(gòu)我們首先介紹棧(stack)、隊(duì)列(queue)、字典(dictionaries)、優(yōu)先隊(duì)列(priorityqueues)、集合(sets)等最重要的數(shù)據(jù)結(jié)構(gòu)的抽象操作(abstractoperations),接下來簡(jiǎn)單描述從頭實(shí)現(xiàn)這些操作的最簡(jiǎn)單的方法。請(qǐng)注意,c++和Java這樣的現(xiàn)代面向?qū)ο蟪绦蛟O(shè)計(jì)語言都已經(jīng)在它們的標(biāo)準(zhǔn)庫(kù)中實(shí)現(xiàn)了基礎(chǔ)數(shù)據(jù)結(jié)構(gòu)。我們將在2.2 節(jié)中簡(jiǎn)單地介紹它們。每個(gè)程序員都應(yīng)該花一些時(shí)間來熟悉這些數(shù)據(jù)結(jié)構(gòu),而不是每次都從頭實(shí)現(xiàn)。當(dāng)你很好地熟悉了這些庫(kù)的使用方法后,在閱讀本節(jié)時(shí)便可專注于這些數(shù)據(jù)結(jié)構(gòu)所擅長(zhǎng)的領(lǐng)域而非實(shí)現(xiàn)細(xì)節(jié)。

編輯推薦

《挑戰(zhàn)編程:程序設(shè)計(jì)競(jìng)賽訓(xùn)練手冊(cè)》是由清華大學(xué)出版社出版的。

圖書封面

圖書標(biāo)簽Tags

評(píng)論、評(píng)分、閱讀與下載


    挑戰(zhàn)編程 PDF格式下載


用戶評(píng)論 (總計(jì)84條)

 
 

  •   一本算法設(shè)計(jì)與編程練習(xí)的訓(xùn)練手冊(cè),內(nèi)容不錯(cuò)。
  •   這是一本非常實(shí)用的算法設(shè)計(jì)與編程練習(xí)的訓(xùn)練手冊(cè)。
  •   對(duì)于算法競(jìng)賽很有好處
  •   NOIP 2012 臨近,買一本提高水平,真的好??!
    就是搜索算法沒有明確的標(biāo)出。手冊(cè)很好攜帶。
    講得很好,而且編程風(fēng)格很好。值得學(xué)習(xí)。
    總之加油吧?。?!
  •   比賽中用到的各種類型的算法都有介紹,感覺比較全面詳細(xì)。挺好的
  •   練習(xí)算法的不錯(cuò)輔導(dǎo)材料。
  •   書很不錯(cuò),這兩本書,再結(jié)合算法導(dǎo)論,對(duì)ACM幫助很大!
  •   挺不錯(cuò)的算法書,很好用
  •   喜歡算法的就不要錯(cuò)過了 有難度有深度才有收獲 不適合新手 要有一定算法功底
  •   很好 對(duì)編程有幫助 適合考研復(fù)試計(jì)算機(jī)的閱讀
  •   對(duì)信息學(xué)競(jìng)賽知識(shí)點(diǎn)歸納總結(jié)的很到位,習(xí)題非常具有代表性!
  •   題目有趣且難度適中,講解也很精巧很適合我提升編程能力
  •   例題經(jīng)典,內(nèi)容頁不賴
  •   書有缺頁(6頁),不知如何處理
  •   題目蠻難不過很經(jīng)典
  •   題目非常有趣,各種難度的題目都有,很好。
  •   很精致的書,內(nèi)容簡(jiǎn)潔明了,適合有語言基礎(chǔ)的讀者
  •   這本書我在當(dāng)當(dāng)找到太高興了。
  •   這本書基本都是解題思想,題很經(jīng)典,需要一定編碼能力的人看看。
  •   內(nèi)容不錯(cuò),到貨較及時(shí)
  •   內(nèi)容不錯(cuò) 就是紙質(zhì)不怎么樣
  •   是正版書籍,而且物流還不錯(cuò),下次繼續(xù)購(gòu)買
  •   難難難難那。~??!
  •   還行,不過上面只有習(xí)題
  •   不錯(cuò),質(zhì)量也很好,老顧客了,希望有更多的折讓獎(jiǎng)勵(lì).
  •   不錯(cuò)的東西,值得一看
  •   買給別人的,送的時(shí)候別人挺喜歡
  •   向朝鮮戰(zhàn)場(chǎng)這些
  •   促銷時(shí)買的,自己看,收藏用
  •   看起來不錯(cuò),推薦給ACMer的入門書
  •   ACM的教程 個(gè)人 一直推薦 劉汝佳的 確實(shí)不錯(cuò)
  •   挺好的 書是正版 正在看
  •   都還好 就是代碼比較少 翻譯過來的書總有點(diǎn)別扭
  •   好了沒的說
  •   買的時(shí)候沒注意到是佳哥翻譯的,買之后果然大喜,佳哥這么牛逼的人翻譯的,不會(huì)差。我就崇拜佳哥,超級(jí)無敵大牛佳哥
  •   感覺自己給費(fèi)了
  •   書很不錯(cuò)的。。送得也蠻快
  •   有詳細(xì)的UVa習(xí)題編號(hào),可以跟著去做
  •   很贊的書,不過直到拿到手才知道是劉汝佳翻譯的~~呵呵 小小囧下~
  •   不錯(cuò) 對(duì)我們這些備戰(zhàn)ACM的ACMer們非常有用
  •   書不錯(cuò),發(fā)貨也快....
  •   不錯(cuò) 推薦 不錯(cuò) 推薦 不錯(cuò) 推薦 不錯(cuò) 推薦
  •   我買這本書,純粹是作為業(yè)余興趣,大概看了一下,這本書的內(nèi)容都不算太深,而且也很有趣味,很適合作為競(jìng)賽入門的讀本,還可以作為已經(jīng)有了程序設(shè)計(jì)基礎(chǔ)的人作為提高算法能力學(xué)習(xí)的教材。
  •   這書挺簡(jiǎn)略的~但其中有對(duì)初學(xué)者很好的編程習(xí)慣的建議,有很好的引導(dǎo)作用書中的思維方法值得學(xué)習(xí)~
  •   這本書不錯(cuò),可以作為ACM程序入門經(jīng)典來使用。。。
  •   題目范圍很多很廣 可開拓思維 提高編程能力~
  •   要學(xué)會(huì)分析問題,編程方法。
  •   這本書是老師推薦的,說對(duì)于初學(xué)者編程很有幫助,看過之后,感覺這本書還不錯(cuò),值得購(gòu)買.
  •   對(duì)編程有一定的幫助?。?!
  •   很精彩的例題,精彩的講解,翻譯的還挺好。
    配合網(wǎng)上的題目一邊學(xué)習(xí)一邊練習(xí)非常受用。
  •   題目覆蓋面很廣,但基本以簡(jiǎn)單題為主,而且書中源代碼較多,如果更多涉及到解題思路以及相關(guān)知識(shí)就更好了
  •   感覺都是題目 感覺實(shí)用性不強(qiáng) 不推薦
  •   按照思路走的很好,就是好像代碼太少,思想也涉及不多,介紹的大多是uva上的題
  •   很不錯(cuò)的一本書,就是紙張差了點(diǎn)。其他都很好。
  •   我是一名學(xué)生,很高興在當(dāng)當(dāng)上能買到這本書,這本書對(duì)想?yún)⒓覣CM的同學(xué)很有幫助的,很不錯(cuò)
  •   感覺基礎(chǔ)還比較薄弱,只能偶爾翻看了,但質(zhì)量還行。
  •   感覺書的印刷不太好
  •   主要是uva的題目翻譯
  •   大部分頁面只是題目的堆砌,難度明顯不夠,進(jìn)階的同學(xué)就不要費(fèi)錢了。
  •   總體可以,內(nèi)容不是很多
  •   還行咯,解答好像少了點(diǎn),呵呵
  •   可惜買了這本書之后,沒有看懂什么,并且他不是我想要的版本,我想要pascal語言,哎,這本書也不怎么好,只是翻譯版!
  •   初學(xué)者就不要想了。個(gè)人認(rèn)為這本書的意義還是在于它介紹的那個(gè)OJ,以及一些經(jīng)驗(yàn)技巧,對(duì)于對(duì)編程很感興趣并且想?yún)⒓痈?jìng)賽的同學(xué)以及那些剛剛開始準(zhǔn)備競(jìng)賽的人還是有一些幫助的。雖然它有一些講解,但是千萬不要妄想那它學(xué)些什么東西,它只是告訴你你需要去學(xué)習(xí)些什么,讓你好有個(gè)前進(jìn)的方向,這對(duì)于很多對(duì)編程很干興趣但又水平有限的人來說很有意義,可以做一個(gè)學(xué)習(xí)指導(dǎo)。個(gè)人認(rèn)為對(duì)于它介紹的題目,按照它前言里說的,只是一個(gè)選截,還是應(yīng)該歸為學(xué)習(xí)方向指導(dǎo)性質(zhì)一類的。也沒有答案、解析,要自己去上它介紹的OJ做
  •   不適合進(jìn)階的群體
  •   原名叫做《Programming Challenges》,是某國(guó)家隊(duì)訓(xùn)練用的,講解很少,題目很多
  •   網(wǎng)上購(gòu)物體驗(yàn)不錯(cuò),這本書包裝質(zhì)量不錯(cuò),不過內(nèi)容都是偽代碼,不是一般人看的懂的,不建議初學(xué)者使用
  •   這個(gè)數(shù)有挑戰(zhàn),只是不知道怎么用那個(gè)網(wǎng)站(英語貧困戶),還有就是沒有答案
  •   這本書是學(xué)長(zhǎng)送我的 然后我自己買了一本   給好評(píng)吧  題目還不錯(cuò)
  •   學(xué)長(zhǎng)推薦的,還行。正在看
  •   書很好,運(yùn)送很快,目前沒發(fā)現(xiàn)質(zhì)量問題
  •   這本書不錯(cuò),練習(xí)編程很用的著。有了這本書,自己的編程技巧有了不少長(zhǎng)進(jìn)
  •   紙張好,字跡清晰,內(nèi)容豐富多樣,對(duì)能力的培養(yǎng)有好處。
  •   沒有答案,不適合初學(xué)者。
  •   為了菜價(jià)ACM競(jìng)賽買的書;內(nèi)容很不錯(cuò);但是不容易讓人理解;想在算法方向有較深入理解強(qiáng)烈推薦讀讀;公司招人很多都是要考算法的
  •   很不錯(cuò),很有讀和練習(xí)的價(jià)值,需要一定的編程基礎(chǔ)。
  •   09年買的,11年才評(píng)。因?yàn)橹拔疫B賬號(hào)都忘了,找不會(huì)來,哈哈?,F(xiàn)在能通過郵箱找回來了。心里有點(diǎn)歉疚就來評(píng)評(píng)。當(dāng)時(shí)送貨是很快,服務(wù)好。書本質(zhì)量好。
  •   這本書我剛剛看,習(xí)題很有意思,而且有深度,新手看的話可能做課后習(xí)題有點(diǎn)吃力,還是有點(diǎn)基礎(chǔ)感覺可能會(huì)更好些!~
  •   書講的很少,習(xí)題也沒有講解,做好不要買
  •   挑戰(zhàn)編程
  •   趣味編程
  •   很好的書,不是盜版的,很好
  •   通過它.我進(jìn)入了微軟...
  •   入門好書,推演精辟入里。
  •   一個(gè)一個(gè)的程序例子很好
 

250萬本中文圖書簡(jiǎn)介、評(píng)論、評(píng)分,PDF格式免費(fèi)下載。 第一圖書網(wǎng) 手機(jī)版

京ICP備13047387號(hào)-7