編程珠璣(續(xù))

出版時間:2011-5  出版社:人民郵電出版社  作者:[美] Jon Bentley  譯者:錢麗艷,劉田 等  
Tag標簽:無  

內容概要

  多年以來,當程序員們推選出最心愛的計算機圖書時,《編程珠璣》總是位于前列。正如自然界里珍珠出自細沙對牡蠣的磨礪,計算機科學大師Jon
Bentley以其獨有的洞察力和創(chuàng)造力,從磨礪程序員的實際問題中凝結出一篇篇不朽的編程“珠璣”,發(fā)表在《ACM通訊》最受歡迎的專欄中,最終結集為兩部不朽的計算機科學經(jīng)典名著,影響和激勵著一代又一代程序員和計算機科學工作者。本書為續(xù)集,秉承了《編程珠璣》的風格,但涉及的主題更廣,包括文檔、小語言、性能監(jiān)視、圖形輸出等。
  作者選取許多具有典型意義的復雜編程和算法問題,生動描繪了計算機大師們在探索解決方案過程中發(fā)生的軼事、走過的彎路和不斷精益求精的歷程,引導讀者像真正的程序員和軟件工程師那樣富有創(chuàng)新性地思考,并透徹闡述和總結了許多獨特而精妙的設計原則、思考和解決問題的方法以及實用程序設計技巧。每章后所附習題極具挑戰(zhàn)性和啟發(fā)性,書末給出了簡潔的解答。

作者簡介

  Jon Bentley 世界著名計算機科學家,被譽為影響算法發(fā)展的十位大師之一。他先后任職于卡內基-梅隆大學(1976~1982)、貝爾實驗室(1982~2001)和 Avaya實驗室(2001年至今)。在卡內基-梅隆大學擔任教授期間,他培養(yǎng)了包括Tcl語言設計者John Ousterhout、Java語言設計者James Gosling、《算法導論》作者之一Charles Leiserson在內的許多計算機科學大家。2004年榮獲Dr. Dobb’s程序設計卓越獎?! ″X麗艷  北京大學信息科學技術學院基礎實驗教學研究所軟件實驗室主任、高級工程師,畢業(yè)于國防科技大學,目前主要從事數(shù)值計算、程序設計等方面的研究工作。

書籍目錄

第一部分 編 程 技 術
 第1 章 性能監(jiān)視工具    
  1.1 計算素數(shù)    
  1.2 使用性能監(jiān)視工具    
  1.3 專用的性能監(jiān)視工具    
  1.4 開發(fā)性能監(jiān)視工具    
  1.5 原理    
  1.6 習題    
  1.7 深入閱讀    
 第2 章 關聯(lián)數(shù)組    
  2.1 Awk 中的關聯(lián)數(shù)組    
  2.2 有窮狀態(tài)機模擬器    
  2.3 拓撲排序    
  2.4 原理    
  2.5 習題    
  2.6 深入閱讀    
 第3 章 程序員的懺悔    
  3.1 二分搜索    
  3.2 選擇算法    
  3.3 子程序庫    
  3.4 原理    
  3.5 習題    
 第4 章 自描述數(shù)據(jù)    
  4.1 名字—值對    
  4.2 記錄來歷    
  4.3 排序實驗    
  4.4 原理    
  4.5 習題    
第二部分 實 用 技 巧
 第5 章 劈開戈爾迪之結
  5.1 小測驗    
  5.2 解答    
  5.3 提示    
  5.4 原理    
  5.5 習題    
  5.6 深入閱讀    
  5.7 調試(邊欄)     
 第6 章 計算機科學箴言集
  6.1 編碼    
  6.2 用戶界面    
  6.3 調試    
  6.4 性能    
  6.5 文檔    
  6.6 軟件管理    
  6.7 其他    
  6.8 原理    
  6.9 習題    
  6.10 深入閱讀    
 第7 章 粗略估算    
  7.1 頭腦熱身    
  7.2 性能的經(jīng)驗法則    
  7.3 Little 定律    
  7.4 原理    
  7.5 習題    
  7.6 深入閱讀    
  7.7 日常速算(邊欄)    
 第8 章 人員備忘錄    
  8.1 備忘錄    
  8.2 原理    
  8.3 深入閱讀    
第三部分 人性化I/O
 第9 章 小語言    
  9.1 Pic 語言    
  9.2 視角    
  9.3 Pic 預處理器    
  9.4 用來實現(xiàn)Pic 的小語言
  9.5 原理    
  9.6 習題    
  9.7 深入閱讀    
 第10 章 文檔設計    
  10.1 表格    
  10.2 三條設計原則    
  10.3 插圖    
  10.4 文本    
  10.5 合適的媒介    
  10.6 原理    
  10.7 習題    
  10.8 深入閱讀    
  10.9 次要問題目錄(邊欄)
 第11 章 圖形化輸出    
  11.1 實例研究    
  11.2 顯示結果取樣    
  11.3 原理    
  11.4 習題    
  11.5 深入閱讀    
  11.6 拿破侖遠征莫斯科(邊欄)
 第12 章 對調查的研究
  12.1 有關民意調查的問題
  12.2 語言    
  12.3 圖片    
  12.4 原理    
  12.5 習題    
第四部分 算 法
 第13 章 絕妙的取樣    
  13.1 取樣算法一瞥    
  13.2 Floyd 算法    
  13.3 隨機排列    
  13.4 原理    
  13.5 習題    
  13.6 深入閱讀    
 第14 章 編寫數(shù)值計算程序
  14.1 問題    
  14.2 牛頓迭代    
  14.3 良好的起點    
  14.4 代碼    
  14.5 原理    
  14.6 習題    
  14.7 深入閱讀    
  14.8 數(shù)值算法的力量(邊欄)
 第15 章 選擇    
  15.1 問題    
  15.2 程序    
  15.3 運行時間分析    
  15.4 原理    
  15.5 習題    
  15.6 深入閱讀    
附錄A C 和Awk 語言    
附錄B 子程序庫    
部分習題答案    
索引        
  
  

章節(jié)摘錄

  然后我跑回我的終端前,很興奮地看到這次二分搜索成功地通過了n從1到9的測試。然而當n=10的時候,程序再次失敗了,我的心都快碎了。那個時候,bign=10。我實在想不出為什么程序會在n-10的時候失敗,又按照bign=9和bign=11各運行了一次,希望問題的產生是因為那是最后一次測試。不幸的是,代碼總是一直到9都能正確運行,然后運行10或者11就會出錯。從9到10,到底出了什么問題?  Awk變量既可以是數(shù)值,也可以是字符串。Awk的說明書中說,如果比較的雙方都是數(shù)值,那么就按照數(shù)值比較的規(guī)則來比較,否則就按照字符串的規(guī)則來比較。由于這個程序涉及函數(shù)調用的特殊情況,解釋器誤認為字符串“10”先于字符串“5”。我寫了6行的小程序捕捉到了這個錯誤,Kernighan在次日解決了這個問題?! ?.4原理  本章觸及了程序員日常工作中的一些常見任務。它們可能不是那么吸引人,但是絕對很重要?! ∧_手架。本章介紹了程序原型、在程序中加入輸出以觀察運行過程、度量代碼以及組件測試等方法。其他的腳手架方法還有測試數(shù)據(jù)(虛擬的文件和數(shù)據(jù)結構)以及使用“殘樁”代碼模擬未完成的程序從而方便自頂向下的測試?! S谜Z言。合適的編程語言可以使代碼的長度減少一個量級,清晰程度上升一個量級。請大家自己發(fā)掘各語言的優(yōu)勢和特性。Awk是一種構造算法原型的極好的語言:其內建的關聯(lián)數(shù)組可以使你模擬許多常用的數(shù)據(jù)結構,它的字段、隱式循環(huán)、模式一動作對等設計極大地簡化了輸入輸出過程,隱式的變量聲明和初始化也使得程序更加簡潔。AWK Programming Language一書(見2.6節(jié))的第7章中還有關于用Awk進行算法實驗的更多資料。13.2節(jié)和答案14.6給出了兩個小型算法中應用的Awk腳手架?! y試與調試。本章專注于測試和調試小的程序。先用白盒測試的方法觀察程序是否按照我們預想的方法運行,然后再用黑盒測試來增加自己對于程序正確性的信心。錯誤報告。對于子程序庫的組件測試不經(jīng)意間變成了對于Awk最近新引入特性的一次系統(tǒng)測試。Kernighan把這種現(xiàn)象稱作“新用戶現(xiàn)象”:新系統(tǒng)的每一個新用戶都能夠發(fā)現(xiàn)一系列的新錯誤。相比于之前的用戶,我對函數(shù)的鉆研更深。在這個300行的程序兩次遇到Awk的錯誤時,我都是先用一段小的程序(一個是15行,一個只有6行)重現(xiàn)這一奇異的現(xiàn)象,然后才報告錯誤的。貝爾通信研究院的Stu Feldman這樣描述他多年來維護一個Fortran編譯器的經(jīng)驗:  當你在錯誤報告附上25000行代碼的時候,無論是程序作者、支持機構還是你的朋  友,都會選擇無視你的報告。我花了幾年時間來教會他這一點(為了保護當事人,把姓名隱去了)。采用的技術包括凝視代碼、發(fā)揮直覺、用二分法(試著扔掉子程序的后半部分)等等。如果你發(fā)現(xiàn)了一個錯誤,請使用最小的測試用例來報告它?! 〕绦蝌炞C的角色。為了保證自己的程序是正確的,我會使用任何可用的方法。非正式的驗證方法可以幫助我編寫代碼,并在實現(xiàn)前就檢驗我的想法,一旦實現(xiàn)了代碼,測試就變成了最關鍵的問題。我在程序驗證方面有了些經(jīng)驗后,再也不會對于一個復雜的小程序第一次運行就正常工作而感到驚訝。如果程序不能工作,我會通過測試和調試的方法找到?jīng)]有被滿足的斷言,并修改相應的代碼?!  ?/pre>

媒體關注與評論

  《編程珠璣》是對我職業(yè)生涯影響最大的書之一,其中的許多真知灼見多年之后仍然使我受益匪淺。Jon在《編程珠璣(續(xù))》中組織了更多素材,諸多內容讓我耳目一新。”  ——Steve McConnell,軟件工程大師,IEEE Software前主編,《代碼大全》作者  “對每一位遇到的程序員,我都會毫不遲疑地建議他閱讀并不斷重讀這部經(jīng)典之作。”  ——Slashdot

編輯推薦

  經(jīng)久不衰的計算機科學名著!  集深邃思想、實戰(zhàn)技術與趣味軼事于一冊!  領略計算機科學之美!

圖書封面

圖書標簽Tags

評論、評分、閱讀與下載


    編程珠璣(續(xù)) PDF格式下載


用戶評論 (總計85條)

 
 

  •   本書算是編程珠璣的續(xù)集吧,因為喜歡編程珠璣第二版而購買本書,發(fā)現(xiàn)內容也是非常不錯,如果閱讀時能夠邊讀邊想,然后邊想邊做,這樣就更加好了!!推薦??!
  •   算法類的圖書,很經(jīng)典,延續(xù)《編程珠璣》的風格
  •   作為大名鼎鼎《編程珠璣》的續(xù),質量應該不錯
  •   編程珠璣的續(xù)集,質量應該不錯。
  •   之前看過編程珠璣,這次出2了肯定要買回來,只是大概掃了下,估計真正讀完并消化需要一些時間。
  •   書不錯,但是沒有編程珠璣一好
  •   延續(xù)了編程珠璣的特點,值得一讀
  •   做為編程珠璣的續(xù)篇內容應該是非常不錯的
  •   能夠從大師那些學習到一些技巧和經(jīng)驗,受益匪淺。其實這本書不僅僅描述算法,還涉及到很多編程的思路和技巧。
  •   相比計算機書籍習慣性的幾百頁這個厚度,這本書很薄。但應了那句話,濃縮就是精華。
  •   值得每個程序員一看
  •   看了第一本來買續(xù)了
  •   這本續(xù)還沒來得及看。
  •   正在閱讀中,太經(jīng)典了這本書,算法圣經(jīng)呀。
  •   經(jīng)典神書 學過算法的必備啊
  •   這本書不但可以提高我們編寫小程序的技巧,而且可以強化邏輯思維能力,相信經(jīng)過這本書的洗禮,讀者可以在程序編寫的能力上有所提高!
  •   啊哈!算法,經(jīng)典
  •   續(xù)集也不錯
  •   基于模糊聚類分析的電力客戶信用評價算法_李頻
  •   算法的好書
  •   程序猿值得一看的書,受益匪淺
  •   內容自不必說,20年的經(jīng)典著作。書是正版,印刷很正,雙十一打折買的,很劃算,快遞也很快,很滿意。就是書被壓皺了,很不爽。
  •   還沒準備看,但是有好多推薦了這本。先買來,看什么時候拿出來看看。
  •   好書,收益匪淺哈。強烈推薦
  •   經(jīng)典延續(xù),贊這本書
  •   五星圖書無需多言速速入手靜心學習
  •   內容很實用,暫時看不太懂。慢慢研讀
  •   一次買了很多,質量很好,內容更經(jīng)典
  •   經(jīng)典不多談了
  •   經(jīng)典的延續(xù),IT從業(yè)人員必讀。
  •   需要反復地讀才可以理解作者的各種周密考慮。。
  •   書很不錯,非常適合初學者學習,書的質量也非常不錯!
  •   這是一本很不錯的書,質量不錯,紙張很舒服。
  •   包裝很好,紙質的質量也很好,非常的喜歡這本書,受益良多
  •   這本書要慢讀,不要圖塊
  •   很多公司的筆試面試題都從這里出,而且這本書真的很好呢?。。?!
  •   還沒看,一概很不錯??!的??!1
  •   和前一半一樣,很好的內容,做這行的看了肯定沒壞處。
  •   幫老弟買的 應該不錯
  •   技巧性的東西講得比較多
  •   當當真是給力,昨天定的今天到,晚上10點多收到發(fā)貨郵件,當當?shù)膯T工們,你們辛苦了... 包裝還沒拆,就直接上來評論,相信當當,絕對正版
  •   好高深~~
  •   這個就是《編程珠璣II》
  •   是本經(jīng)典的書是本經(jīng)典的書
  •   書如其名,經(jīng)典
  •   很有見地,文字輕巧卻不乏教導意義,高手之作
  •   這套書,整體都不錯,無論是前篇還是續(xù)篇
  •   書是不錯,但是篇幅有限,內容還是不夠充實
  •   書有些顯舊,有折痕,不過還好啦
  •   書是好書,這沒的說,但是本來在當當買書就是圖個正版,但是還破損——我還不如去街邊攤買個盜版
  •   書質量不錯, 比較薄, 可以啟發(fā)思維
  •   還沒看,大家評價很好的一本書,就買了
  •   內容很充實,對開拓思路很有幫助
  •   用得上的好書,不過還沒來及看
  •   很好,能夠讓思維擴展
  •   正本的補充
  •   還沒看,但是感覺應該是不錯的
  •   開了眼界,翻譯質量太差
  •   一本好書 要好好看了
  •   好書,建議收藏
  •   內容不及第一版好
  •   物流態(tài)度差,書本表皮損害嚴重,很不爽的購物體驗。
  •   這是續(xù)集,應該不錯,還沒看,聽說很不錯。
  •   書是不錯,因為是一次買了好幾本書,就這本書封面都是劃痕一點都不像新的,好在不影響閱讀就不退貨了
  •   不知到是不是中文版的原因,發(fā)現(xiàn)沒有英文版的《programming pearl》第一版讀起來那么醍醐灌頂。二更偏重軟件開發(fā)流程中的最佳實踐(比如測試分析等),范圍相對比較寬泛??傊蛔x起來的味道截然不同。
  •   asdasdasdas
  •   打算好好拜讀
  •   感覺沒一好。
  •   《編程珠璣》很喜歡,相當多的東西開拓了思路。看到《續(xù)》毫不猶豫就買了,對比起來,實在差太多。內容不豐富,還整了幾章的awk。尤其是驚艷的感覺是啥都沒有,失望無比....
  •   跟《編程珠璣》的內容沒得比。。
  •   這是正版書嗎???
  •   好的程序員都應該拜讀增加一下對配送公司的投訴,書有很明顯的人為磨損痕跡,請?zhí)岣吆献髋渌凸舅拓浫藛T的素質!
  •   1. 以前叫做《編程珠璣II》,不知道這次為什變成《續(xù)》了,不過價格比以前便宜了不少,給力。2. 《編程珠璣》是先用awk寫,后面改成c出版了第二版,而這一本書依然主要是用awk語言寫成了。但從沒有用c出版過第二版。而且書中一直致力于推薦awk,估計永遠期待不到c的第二版的了。
  •   慢慢看,很多人都推薦這本書
  •   這本書的確講了很多有用的技巧
  •   書很好,裝訂很差勁,封皮有褶皺啊,裁剪的非常不好,中間有一小沓突出來了……已經(jīng)換過一本了,封皮好點了, 懶得換了……沒法上傳圖片 要不就拍照讓大家看一下了,真不像正版書
  •   非常有用,絕對的編程結晶。
  •   大師的書值得一看大師的書值得一看
  •   已經(jīng)在閱讀,值得購買,評價有點晚了
  •   編程珠璣一共有兩本,我都買了,之所以買是因為看到網(wǎng)上一邊倒的說好,結果到手翻了一段時間,實在是沒有信心繼續(xù)看下去,書中的內容對于我一個5年的程序員來說感覺都有些深奧了,不少地方翻譯得也非常不好,看半天不知道作者想表達什么意思,本來內容就深奧,加上翻譯差,我基本上是沒有信心把這兩本書看完,唯一值得安慰的是這兩本書都是活動期間4.9折買的,價格算是很實惠了,先放一... 閱讀更多
  •   非常好的一本算法書,開闊了不少思路可惜介紹的有些少!
  •   經(jīng)典書籍,不多說,計算機專業(yè)必讀
  •   第一本就是好書書,正在慢慢看
  •   正在看,不錯。該好生學習下咯
  •   好書的續(xù)集
 

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

京ICP備13047387號-7