中图网(原中国图书网):网上书店,尾货特色书店,30万种特价书低至2折!

歡迎光臨中圖網 請 | 注冊
> >>
編程珠璣(第2版)

包郵 編程珠璣(第2版)

出版社:人民郵電出版社出版時間:2008-10-01
所屬叢書: 圖靈程序設計叢書
開本: 16開 頁數: 228
中 圖 價:¥27.3(7.0折) 定價  ¥39.0 登錄后可看到會員價
暫時缺貨 收藏
開年大促, 全場包郵
?新疆、西藏除外
本類五星書更多>

編程珠璣(第2版) 版權信息

  • ISBN:9787115179289
  • 條形碼:9787115179289 ; 978-7-115-17928-9
  • 裝幀:簡裝本
  • 冊數:暫無
  • 重量:暫無
  • 所屬分類:>>

編程珠璣(第2版) 本書特色

歷史上*偉大的計算機科學著作之一,融深邃思想、實戰技術與趣味軼事于一爐的奇書,帶你真正領略計算機科學之癥狀!
  “《編程珠璣》第1版是對我職業生涯早期影響*大的書之一,其中的許多真知灼見多年之后仍然使我受益匪淺。Jon在第2版中對素材進行了大量更新,許多新內容讓我耳目一新!
                     ——Steve McConnell,軟件工程大師,IEEE Software前主編,《代碼大全》作者“對每一位遇到的程序員,我都會毫不遲疑地建議他閱讀并不斷重讀這部經典之作!
                             ——Stashdot
多年以來。當程序員們推選出*心愛的計算機圖書時,《編程珠璣》總是位于前列。正如自然界里珍珠出自細沙對牡蠣的磨礪。計算機科學大量Jon Bentley以其獨有的洞察力和創造力,從磨礪程序員的實際問題中凝結出一篇篇不朽的編程“珠璣”,成為世界計算機界名刊《ACM通訊》歷史上*受歡迎的專欄,*終結集為兩部不朽的計算機科學經典名著,影響和激勵著一代又一代程序員和計算機科學工作者。本書為**卷,主要討論計算機科學中*本質的問題:如何正確選擇和高效地實現算法。
在書中。作者選取許多具有典型意義的復雜編程和算法問題,生動描繪了歷史上眾大師們在探索解決方案中發生的軼事、走過的彎路和不斷精益求精的歷程,引導讀者像真正的程序員和軟件工程師那樣富于創新性地思考,并透徹闡述和總結了許多獨特而精妙的設計原則、思考和解決問題的方法以及實用程序設計技巧。解決方案的代碼均以C/C++語言編寫。不僅有趣。而且有很大的實戰示范意義。每章后所附習題極具挑戰性和啟發性,書末給出了簡潔的解答。
作者簡介:
  Jon Bentley,世界著名計算機科學家,被譽為影響算法發展的十位大師之一。他先后任職于卡內基-梅隆大學(1976-1982)、貝爾實驗室(1982-2001)和Avaya實驗室(2001年至今)。在卡內基-梅隆大學擔任教授期間,他培養了包括Tcl語言設計者John Ousterhout、Java語言設計者James Gosling、《算法導論》作者之- Charles Leisersond在內的許多計算機科學大家。2004年榮獲Dr.Dobb's程序設計卓越獎。

編程珠璣(第2版) 內容簡介

本書是計算機科學方面的經典名著。書的內容圍繞程序設計人員面對的一系列實際問題展開。作者Jon Bentley 以其獨有的洞察力和創造力,引導讀者理解這些問題并學會解決方法,而這些正是程序員實際編程生涯中至關重要的。本書的特色是通過一些精心設計的有趣而又頗具指導意義的程序,對實用程序設計技巧及基本設計原則進行了透徹而睿智的描述,為復雜的編程問題提供了清晰而完備的解決思路。本書對各個層次的程序員都具有很高的閱讀價值。

編程珠璣(第2版) 目錄

**部分 基礎
 第1章 開篇 
  1.1 一次友好的對話 
  1.2 準確的問題描述 
  1.3 程序設計 
  1.4 實現概要 
  1.5 原理 
  1.6 習題 
  1.7 深入閱讀 
 第2章 啊哈!算法 
  2.1 三個問題 
  2.2 無處不在的二分搜索 
  2.3 基本操作的威力 
  2.4 排序 
  2.5 原理 
  2.6 習題 
  2.7 深入閱讀 
  2.8 變位詞程序的實現(邊欄) 
 第3章 數據決定程序結構 
  3.1 一個調查程序 
  3.2 格式信函編程 
  3.3 一組示例 
  3.4 結構化數據 
  3.5 用于特殊數據的強大工具 
  3.6 原理 
  3.7 習題 
  3.8 深入閱讀 
 第4章 編寫正確的程序 
  4.1 二分搜索的挑戰
  4.2 編寫程序 
  4.3 理解程序 
  4.4 原理 
  4.5 程序驗證的角色 
  4.6 習題 
  4.7 深入閱讀 
 第5章 編程小事 
  5.1 從偽代碼到C程序 
  5.2 測試工具 
  5.3 斷言的藝術 
  5.4 自動測試 
  5.5 計時 
  5.6 完整的程序
  5.7 原理 
  5.8 習題 
  5.9 深入閱讀 
  5.10 調試(邊欄)
第二部分 性能
 第6章 程序性能分析 
  6.1 實例研究 
  6.2 設計層面 
  6.3 原理 
  6.4 習題 
  6.5 深入閱讀 
 第7章 粗略估算 
  7.1 基本技巧 
  7.2 性能估計 
  7.3 安全系數 
  7.4 Little定律 
  7.5 原理 
  7.6 習題 
  7.7 深入閱讀 
  7.8 日常生活中的速算(邊欄) 
 第8章 算法設計技術 
  8.1 問題及簡單算法 
  8.2 兩個平方算法 
  8.3 分治算法 
  8.4 掃描算法 
  8.5 實際運行時間 
  8.6 原理 
  8.7 習題
  8.8 深入閱讀 
 第9章 代碼調優 
  9.1 典型的故事 
  9.2 急救方案集錦 
  9.3 大手術——二分搜索 
  9.4 原理 
  9.5 習題 
  9.6 深入閱讀 
 第10章 節省空間 
  10.1 關鍵在于簡單 
  10.2 示例問題 
  10.3 數據空間技術 
  10.4 代碼空間技術 
  10.5 原理 
  10.6 習題 
  10.7 深入閱讀 
  10.8 巨大的節省(邊欄) 
第三部分 應用
 第11章 排序 
  11.1 插入排序 
  11.2 一種簡單的快速排序 
  11.3 更好的幾種快速排序 
  11.4 原理 
  11.5 習題 
  11.6 深入閱讀 
 第12章 取樣問題
  12.1 問題 
  12.2 一種解決方案 
  12.3 設計空間 
  12.4 原理 
  12.5 習題 
  12.6 深入閱讀 
 第13章 搜索 
  13.1 接口 
  13.2 線性結構 
  13.3 二分搜索樹 
  13.4 用于整數的結構 
  13.5 原理 
  13.6 習題 
  13.7 深入閱讀 
  13.8 一個實際搜索問題(邊欄) 
 第14章 堆 
  14.1 數據結構 
  14.2 兩個關鍵函數 
  14.3 優先級隊列 
  14.4 一種排序算法 
  14.5 原理 
  14.6 習題 
  14.7 深入閱讀 
 第15章 字符串 
  15.1 單詞 
  15.2 短語 
  15.3 生成文本 
  15.4 原理 
  15.5 習題 
  15.6 深入閱讀 
第1版跋 
第2版跋 
附錄A 算法分類 
附錄B 估算測試 
附錄C 時空開銷模型 
附錄D 代碼調優法則 
附錄E 用于搜索的C++類 
部分習題提示 
部分習題答案 
索引
展開全部

編程珠璣(第2版) 節選

**部分 基礎
 第1章 開篇   
  1.2 準確的問題描述
對程序員來說,這些需求加起來就是:“如何給磁盤文件排序?”在試圖解決這個問題之前,先將已知條件組織成一種更客觀、更易用的形式。
  輸入:一個*多包含n個正整數的文件,每個數都小于n,其中n=107。如果在輸入文件中有任何整數重復出現就是致命錯誤。沒有其他數據與該整數相關聯。
  輸出:按升序排列的輸入整數的列表。
  約束:*多有(大約)1MB的內存空間可用,有充足的磁盤存儲空間可用。運行時間*多
幾分鐘,運行時間為10秒就不需要進一步優化了。
  請花上一分鐘思考一下該問題的規范說明,F在你打算給程序員什么樣的建議呢?
  1.3 程序設計
顯而易見的方法是以一般的基于磁盤的歸并排序程序為起點,但是要對其進行調整,因為我們是對整數進行排序。這樣就可以將原來的200行程序減少為幾十行,同時也使得程序運行得更快,但是完成程序并使之運行可能仍然需要幾天的時間。
另一種解決方案更多地利用了該排序問題的特殊性。如果每個號碼都使用7個字節來存儲,那么在可用的1MB存儲空間里大約可以存143 000個號碼。如果每個號碼都使用32位整數來表示的話,在1MB存儲空間里就可以存儲250000個號碼。因此,可以使用遍歷輸入文件40趟的程序
來完成排序。在**趟遍歷中,將0至249999之間的任何整數都讀入內存,并對這(*多)250000個整數進行排序,然后寫到輸出文件中。第二趟遍歷排序250000至499999之間的整數,依此類推,到第40趟遍歷的時候對9750000至9999999之問的整數進行排序。對內存中的排序來說,快速排序會相當高效,而且僅僅需要20行代碼。于是,整個程序就可以通過一兩頁紙的代碼實現。該程序擁有所期望的特性——不必考慮使用中間磁盤文件;不幸的是,為此所付出的代價是要讀取輸入文件40次。
  1.5 原理
那個程序員打電話把他的問題告訴我,然后我們花了大約一刻鐘時問明確了問題所在,并找到了位圖解決方案。他花了幾個小時來實現這個幾十行代碼的程序。該程序遠遠優于我們在電話剛開始時所擔心的需要花費一周時間編寫的幾百行代碼的那個程序。而且程序執行得很快:磁盤上的歸并排序可能需要許多分鐘的時間,該程序所需的時間只比讀取輸入和寫入輸出所需的時間多一點點——大約10秒鐘。答案3包含了對完成該任務的幾種不同程序的計時細節。
從這些事實中可以總結出該實例研究所得到的**個結論:對小問題的仔細分析有時可以得到明顯的實際益處。在該實例中,幾分鐘的仔細研究可以大幅削減代碼的長度、程序員時間和程序運行時間。Chuck Yeager將軍(**個超音速飛行的人)贊揚一架飛機的機械系統時用的詞是“結構簡單、部件很少、易于維護、非常堅固”,該程序擁有同樣的屬性。然而,當規范說明的某些因素發生改變時,該程序的特殊結構將很難修改。除了需要精巧的編程以外,該實例闡明了如下一般原理。
正確的問題。明確問題,這場戰役就成功了90%——我很慶幸程序員沒有滿足于我給出的**個程序。一旦正確理解了問題,習題10、習題11和習題12的答案都會很優雅。在查看提示和答案以前,請努力思考這些問題。
位圖數據結構。該數據結構描述了一個有限定義域內的稠密集合,其中的每一個元素*多出現一次并且沒有其他任何數據與該元素相關聯。即使這些條件沒有完全滿足(例如,存在重復元素或額外的數據),也可以用有限定義域內的作為一個表項更復雜的表格的索引,見習題6和習題8。
  多趟算法。這些算法多趟讀入其輸入數據,每次完成一步。在1.3節已經見到了一個40趟算法,習題5鼓勵讀者去完成一個兩趟算法。
時間一空間折中與雙贏。編程文獻和理論中充斥著時間一空間的折中:通過使用更多的時間,可以減少程序所需的空間。例如,答案5中的兩趟算法讓程序運行時間加倍從而使空間減半。但我的經驗常常是這樣的:減少程序的空間需求也會減少其運行時間?臻g上高效的位圖結構顯著地減少了排序的運行時問。空間需求的減少之所以會導致運行時間的減少,有兩個原因:需要處理的數據變少了,意味著處理這些數據所需的時間也變少了;同時將這些數據保存在內存中而不是磁盤上,進一步避免了磁盤訪問的時間。當然了,只有在原始的設計遠非*佳方案時,才有可能時空雙贏。
簡單的設計。Antoine de Saint—Exupery是法國作家兼飛機設計師,他曾經說過:“設計者確定其設計已經達到了完美的標準不是不能再增加任何東西,而是不能再減少任何東西!备嗟某绦騿T應該使用該標準來檢驗自己完成的程序。簡單的程序通常比具有相同功能的復雜程序更可靠、更安全、更健壯、更高效,而且易于實現和維護。
  ……

編程珠璣(第2版) 作者簡介

Jon Bentley,世界著名計算機科學家,被譽為影響算法發展的十位大師之一。他先后任職于卡內基—梅隆大學(1976—1982)、貝爾實驗室(1982—2001)和Avaya實驗室(2001年至今)。在卡內基—梅隆大學擔任教授期間,他培養了包括Tcl語言設計者John Ousterhout、Java語言設計者James Gosling、《算法導論》作者之一Charles Leiserson在內的許多計算機科學大家。2004年榮獲Dr.Dobb's程序設計卓越獎。
錢麗艷,北京大學信息科學技術學院基礎實驗教學研究所軟件實驗室主任、工程師,畢業于國防科技大學。

商品評論(0條)
暫無評論……
書友推薦
返回頂部
中圖網
在線客服
主站蜘蛛池模板: 石栏杆_青石栏杆_汉白玉栏杆_花岗岩栏杆 - 【石雕之乡】点石石雕石材厂 | 展厅设计-展馆设计-专业企业展厅展馆设计公司-昆明华文创意 | 汽车水泵_汽车水泵厂家-瑞安市骏迪汽车配件有限公司 | 金属检测机_金属分离器_检针验针机_食品药品金属检探测仪器-广东善安科技 | 临沂招聘网_人才市场_招聘信息_求职招聘找工作请认准【马头商标】 | 立式矫直机_卧式矫直机-无锡金矫机械制造有限公司 | 干粉砂浆设备_干混砂浆生产线_腻子粉加工设备_石膏抹灰砂浆生产成套设备厂家_干粉混合设备_砂子烘干机--郑州铭将机械设备有限公司 | 液晶拼接屏厂家_拼接屏品牌_拼接屏价格_监控大屏—北京维康 | 软瓷_柔性面砖_软瓷砖_柔性石材_MCM软瓷厂家_湖北博悦佳软瓷 | 自动焊锡机_点胶机_螺丝机-锐驰机器人 | 东莞螺丝|东莞螺丝厂|东莞不锈钢螺丝|东莞组合螺丝|东莞精密螺丝厂家-东莞利浩五金专业紧固件厂家 | 比士亚-专业恒温恒湿酒窖,酒柜,雪茄柜的设计定制 | 学习安徽网| 碎石机设备-欧版反击破-欧版颚式破碎机(站)厂家_山东奥凯诺机械 高低温试验箱-模拟高低温试验箱订制-北京普桑达仪器科技有限公司【官网】 | 福建省教师资格证-福建教师资格证考试网| 小型气象站_便携式自动气象站_校园气象站-竞道气象设备网 | 广东教师资格网-广东教师资格证考试网 | 破碎机锤头_合金耐磨锤头_郑州宇耐机械工程技术有限公司 | 折弯机-刨槽机-数控折弯机-数控刨槽机-数控折弯机厂家-深圳豐科机械有限公司 | 手表腕表维修保养鉴定售后服务中心网点 - 名表维修保养 | 地磅-地秤-江阴/无锡地磅-江阴天亿计量设备有限公司_ | 胶水,胶粘剂,AB胶,环氧胶,UV胶水,高温胶,快干胶,密封胶,结构胶,电子胶,厌氧胶,高温胶水,电子胶水-东莞聚力-聚厉胶粘 | 过滤器_自清洗过滤器_气体过滤器_苏州华凯过滤技术有限公司 | 北京百度网站优化|北京网站建设公司-百谷网络科技 | 联系我们-腾龙公司上分客服微信19116098882 | 预制直埋蒸汽保温管-直埋管道-聚氨酯发泡保温管厂家 - 唐山市吉祥保温工贸有限公司 | 水冷式工业冷水机组_风冷式工业冷水机_水冷螺杆冷冻机组-深圳市普威机械设备有限公司 | 吸污车_吸粪车_抽粪车_电动三轮吸粪车_真空吸污车_高压清洗吸污车-远大汽车制造有限公司 | 旗帜网络笔记-免费领取《旗帜网络笔记》电子书 | 酒店品牌设计-酒店vi设计-酒店标识设计【国际级】VI策划公司 | 山东风淋室_201/304不锈钢风淋室净化设备厂家-盛之源风淋室厂家 翻斗式矿车|固定式矿车|曲轨侧卸式矿车|梭式矿车|矿车配件-山东卓力矿车生产厂家 | 知网论文检测系统入口_论文查重免费查重_中国知网论文查询_学术不端检测系统 | 意大利Frascold/富士豪压缩机_富士豪半封闭压缩机_富士豪活塞压缩机_富士豪螺杆压缩机 | 精密模具制造,注塑加工,吹塑和吹瓶加工,EPS泡沫包装生产 - 济南兴田塑胶有限公司 | 户外-组合-幼儿园-不锈钢-儿童-滑滑梯-床-玩具-淘气堡-厂家-价格 | 卓能JOINTLEAN端子连接器厂家-专业提供PCB接线端子|轨道式端子|重载连接器|欧式连接器等电气连接产品和服务 | 齿轮减速机电机一体机_齿轮减速箱加电机一体化-德国BOSERL蜗轮蜗杆减速机电机生产厂家 | 地磅-电子地磅维修-电子吊秤-汽车衡-无人值守系统-公路治超-鹰牌衡器 | 动库网动库商城-体育用品专卖店:羽毛球,乒乓球拍,网球,户外装备,运动鞋,运动包,运动服饰专卖店-正品运动品网上商城动库商城网 - 动库商城 | 蓄电池回收,ups电池后备电源回收,铅酸蓄电池回收,机房电源回收-广州益夫铅酸电池回收公司 | 耐高温风管_耐高温软管_食品级软管_吸尘管_钢丝软管_卫生级软管_塑料波纹管-东莞市鑫翔宇软管有限公司 |