挑戰(zhàn)編程

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

前言

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

內(nèi)容概要

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

作者簡介

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

書籍目錄

譯者序前言第1章 入門  1.1 初識自動評測系統(tǒng)    1.1.1 評測系統(tǒng)反饋  1.2 挑選你的武器    1.2.1 程序設(shè)計語言    1.2.2 如何閱讀本書的程序    1.2.3 標準輸入輸出  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 隊列    2.1.3 字典    2.1.4 優(yōu)先隊列    2.1.5 集合  2.2 庫函數(shù)    2.2.1 C++標準模板庫  2.3 程序設(shè)計實例:紙牌大戰(zhàn)  2.4 準備行動  2.5 字符串輸入輸出  2.6 贏得戰(zhàn)爭  2.7 測試與調(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è)計實例:公司更名    3.4 模式查找    3.5 字符串操作    3.6 程序的完成    3.7 字符串庫函數(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 自動評測腳本(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章 動態(tài)規(guī)劃第12章 網(wǎng)格第13章 幾何第14章 計算幾何附錄A參考文獻

章節(jié)摘錄

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

編輯推薦

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

圖書封面

圖書標簽Tags

評論、評分、閱讀與下載


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


用戶評論 (總計84條)

 
 

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

250萬本中文圖書簡介、評論、評分,PDF格式免費下載。 第一圖書網(wǎng) 手機版

京ICP備13047387號-7