您的浏览历史

编程珠玑.Ⅱ(20余年畅销不衰)

  • 定价 : ¥39.00
  • 会员价 : ¥30.03
促销活动
  • [本书]参加人民邮电出版社满80元赠书活动

基本信息

编辑推荐

历史上最伟大的计算机科学著作之一
融深邃思想、实战技术与趣味轶事于一炉的奇书
带你真正领略计算机科学之美

推荐阅读

内容简介回到顶部↑

本书是计算机科学方面的经典名著《编程珠玑》的姊妹篇,讲述了对于程序员有共性的知识。书中涵盖了程序员操纵程序的技术、程序员取舍的技巧、输入和输出设计以及算法示例,这些内容结合成一个有机的整体,如一串串珠玑展示给程序员。本书适合各级程序员阅读参考。

作译者回到顶部↑

本书提供作译者介绍

Jon Bentley,世界著名计算机科学家,被誉为影响算法发展的十位大师之一。他先后任职于卡内基—梅隆大学(P976-1982)、贝尔实验室(1982—2001)和Avaya实验室(2001年至今)。在卡内基—梅隆大学担任教授期间,他培养了包括Tcl语言设计者John Ousterhout、Java语言设计者James Gosling、《算法导论》作者之-Charles Leiserson在内的许多计算机科学大家。2004年荣获Dr.Dobb’S程序设计卓越奖
.. << 查看详细

目录回到顶部↑

第一部分 编程技术
 第1章 性能监视工具
  1.1 计算素数
  1.2 使用性能监视工具
  1.3 一个专用的性能监视工具
  1.4 开发性能监视工具
  1.5 原理
  1.6 习题
  1.7 深入阅读
 第2章 关联数组
  2.1 Awk中的关联数组
  2.2 有穷状态机模拟器
  2.3 拓扑排序
  2.4 原理
  2.5 习题
  2.6 深入阅读
 第3章 程序员的忏悔
  3.1 二分搜索
  3.2 选择算法
  3.3 子程序库

译者序回到顶部↑

本书作者Jon Bentley是美国著名的程序员和计算机科学家,他于20世纪70年代前后在很有影响力的《ACM通讯》(Communications of the ACM)上以专栏的形式连续发表了一系列短文,成功地总结和提炼了自己在长期的计算机程序设计实践中积累下来的宝贵经验。这些短文充满了真知灼见,而且文笔生动、可读性强,对于提高职业程序员的专业技能很有帮助,因此该专栏大受读者欢迎,成为当时该学术期刊的王牌栏目之一。可以想象当时的情形颇似早年金庸先生在《明报》上连载其武侠小说的盛况。后来在ACM的鼓励下,作者经过仔细修订和补充整理,对各篇文章的先后次序做了精心编排,分别在1986年和1988年结集出版了Programming Pearls(《编程珠玑》)和More Programming Pearls(《编程珠玑Ⅱ》)这两本书,二者均成为该领域的名著。《编程珠玑(第2版)》在2000年问世,书中的例子都改用C语言书写,并多处提到如何用C++和Java中的类来实现。《编程珠玑Ⅱ》虽未再版,例子多以Awk语言写成,但其语法与C相近,容易看懂。.
作者博览群书,旁征博引,无论是计算机科学的专业名著,如《计算机程序设计艺术》,还是普通的科普名著,如《啊哈!灵机一动》,都在作者笔下信手拈来、娓娓道出,更不用说随处可见的作者自己的真知灼见了。如果说《计算机程序设计艺术》这样的巨著代表了程序员们使用的“坦克和大炮”一类的重型武器,这两本书则在某种程度上类似于鲁迅先生所说的“匕首与投枪”一类的轻型武器,更能满足职业程序员的日常需要。或者说前者是武侠小说中提高内力修为的根本秘籍,后者是点拨临阵招数的速成宝典,二者同样都是克敌制胜的法宝,缺一不可。在无止境地追求精湛技艺这一点上,程序员、数学家和武侠们其实是相通的。..
在美国,这两本书不仅被用作大学低年级数据结构与算法课程的教材,还用作高年级算法课程的辅助教材。例如,美国著名大学麻省理工学院的电气工程与计算机科学开放式核心课程算法导论就将这两本书列为推荐读物。这两本书覆盖了大学算法课程和数据结构课程的大部分内容,但是与普通教材的侧重点又不一样,不强调单纯从数学上来进行分析的技巧,而是强调结合实际问题来进行分析、应用和实现的技巧,因此可作为大学计算机专业的算法、数据结构、软件工程等课程的教师参考用书和优秀课外读物。书中有许多真实的历史案例和许多极好的练习题以及部分练习题的提示与解答,非常适合自学。正如作者所建议的那样,阅读这两本书时,读者需要备有纸和笔,最好还有一台计算机在手边,边读边想、边想边做,这样才能将阅读这两本书的收益最大化。
人民邮电出版社引进版权,同时翻译出版了《编程珠玑(第2版)》和《编程珠玑Ⅱ》,使这两个中译本珠联璧合,相信这不仅能极大地满足广大程序员读者的需求,还有助于提高国内相关课程的授课质量和学生的学习兴趣。
本书主要由钱丽艳和刘田翻译,翻译过程中得到了严浩、李梁、任铁男三位研究生的帮助,在此一并表示感谢。由于本书内容深刻,语言精妙,而译者的水平和时间都比较有限,错误和不当之处在所难免,敬请广大读者批评指正。...

前言回到顶部↑

计算机编程充满乐趣。有时候,它是一门优雅的科学,有时候,它要去开发和使用新的软件工具。编程与人息息相关:客户实际想解决什么问题?如何让用户容易与程序沟通?编程让我接触到相当广泛的话题,从有机化学到拿破仑战争。本书描述了编程的所有这些方面的知识,而且远不止这些。.
本书是一部短文集,每篇短文独立成章,但所有短文又依据逻辑分成了几组。第1章至第4章描述操纵程序的技术;第5章至第8章给出了一些程序员的实用技巧,这是本书技术性最低的部分;第9章至第12章讲解输入和输出设计;第13章至第15章介绍了3个有用的子程序。这些主题的更多细节可以在每个部分的引言中找到。
本书大多数章都是以我在《ACM通讯》杂志中的“编程珠玑”(Programming Pearls)专栏文章为基础的。各部分的引言中描述了这些文章的发表历史。既然已经发表过,为什么我还要费劲写这本书呢?自首次发表以来,这些专栏文章发生了很大变化,已经有了数千处小改进:有了新的问题和解决方案,纠正了小错误,并采纳了很多读者的意见;与此同时,我删除了一些旧的内容以免重复,并加入了很多新的内容,其中有一章是全新的。..
然而,写本书的最大理由是:我想把各章组成一个有机的整体,我想展示一整串珠玑。我1986年出版的书《编程珠玑》是类似的13篇短文的结集,围绕性能这个中心主题来组织,该主题在最早两年的《ACM通讯》专栏中占据了突出位置。关于效率的话题再次出现在本书的几章中,但本书考察的编程领域范围要大得多。
读者阅读本书时不要太快,一次一章,仔细地读。试解一下书中提出的问题——有些问题并不像看起来那样容易。有些章末尾的“深入阅读”并不是学术意义上的参考文献列表,而是我推荐的一些好书,这些书是我个人藏书的重要部分。
我很高兴能借此机会感谢许多人的重要贡献。Al Aho、Peter Denning、Brian Kernighan和Doug McIlroy对各章提出了详细意见。我还要感谢以下诸位有益的见解:Bill Cleveland、Mike Garey、Eric Grosse、Gerard Holzmann、Lynn Jelinski、David Johnson、Arno Penzias、Ravi Sethi、Bjarne Stroustrup、Howard Trickey和Vic Vyssotsky。我感谢允许我引用他们的信的几个人,特别是Peter Denning、Bob Floyd、Frank Starmer、Vic Vyssotsky和Bruce Weide。我特别要感谢ACM鼓励把专栏文章出版成书,还要感谢《ACM通讯》的许多读者,他们对原始专栏文章提出了不少意见,使得这个扩充版本十分必要并得以出版。贝尔实验室(特别是其计算科学研究中心)在我写这些专栏文章时,提供了极佳的支持环境。感谢所有的人。...
Jon Bentley
于新泽西州Murray Hill

媒体评论回到顶部↑

“《编程珠玑》第1版是对我职业生涯早期影响最大的书之一,其中的许多真知灼见多年之后仍然使我受益匪浅。Jon在第2版中对素材进行了大量更新,许多新内容让我耳目一新。”.
——Steve McConnell,软件工程大师,IEEE Software前主编,《代码大全》作者
“对每一位遇到的程序员,我都会毫不迟疑地建议他阅读并不断重读这部经典之作。”...
——Slashdot

书摘回到顶部↑

第一部分 编程技术
  第2章 关联数组
人类学家说,语言深刻地影响了世界观。一般把这个观察结果称为“Whorf假说”,也经常把它总结为“语言塑造了人的思想”。
跟大多数程序员一样,我使用的Algol系列的语言塑造了我的计算思维。对于像我这样的程序员来说,PL/1、C和Pascal看起来都很相似,我们不难把这样的代码翻译成COBOL或Fortran的代码。用这些语言能轻易地表达我们旧的、习以为常的思维模式。
另外一些语言则挑战了我们对于计算的看法。我们感到惊奇的是:Lisp用户们用S表达式和递归来神奇地工作,APL迷们用一组长向量的外积来为世界建模,Snobol程序员把任何问题都变成一个很大的字符串。我们这些Algol系列的程序员可能会发现,研究这些“异族文化”是痛苦的,但是这种体验一般会增长我们的见识。
本章讨论Algol传统之外的一种语言特性:关联数组(associative array)。我们熟悉的数组都用数值作下标,而关联数组则允许像count[“car”]这样的引用。这样的数据结构出现在Snobol和Rexx(一种IBM命令解释器)这样的语言中,它允许我们用简单的程序宋表达复杂的算法。这些数组与Algol相似到可以很快被理解的程度,又新到足以挑战我们思维习惯的程度。
本章将讨论Awk语言提供的关联数组。虽然Awk的大多数成分都来生Algol传统,但是关联数组和其他几个特性还是值得研究的。下面这一节介绍Awk的关联数组;后续几节描述两个重要的程序,这两个程序用大多数Algol系列的语言来写都是很麻烦的,却可以用Awk优雅地表达出来。
  ……
评论交流

共有28人开贴评论  38人参与评论  22人参与打分 查看

13人
 59%
用户平均打分
我要写评论 help如何参与评论和打分
2人
 9%
3人
 13%
1人
 4%
3人
 13%

fatmouse

专家级评论员
该会员在china-pub购买过此书
评价等级:  
发表于:2010-1-26 14:57:00
经典好书,侧重思想,兼谈技巧,重在实现。
是一本弥补从理论到实现的鸿沟的好书。翻译的也很好。
适合有经验的程序员细细体会。
您觉得呢? 送鲜花 (得0支)  扔鸡蛋 (得0个)

mingrui_chinaclub
二级评论员
该会员在china-pub购买过此书
评价等级:  
发表于:2010-1-14 16:26:00
买回来仔细品味!
您觉得呢? 送鲜花 (得0支)  扔鸡蛋 (得0个)

huyi23
三级评论员
该会员在china-pub购买过此书
评价等级:  
发表于:2010-1-12 22:05:00
我觉得这书很好,需要细细品尝
您觉得呢? 送鲜花 (得0支)  扔鸡蛋 (得0个)

hgltft

专家级评论员
该会员在china-pub购买过此书
评价等级:  
发表于:2010-1-11 12:48:00
绝对的好书,经典之作!
您觉得呢? 送鲜花 (得0支)  扔鸡蛋 (得0个)

ptwcj

专家级评论员
该会员在china-pub购买过此书
评价等级:  
发表于:2010-1-10 14:45:00
没有用C语言来写
您觉得呢? 送鲜花 (得0支)  扔鸡蛋 (得0个)
我要写评论
查看所有评论交流(共28条)