编程珠玑(第2版)

[美] Jon Bentley

出版时间

2019-10-01

ISBN

9787115516282

评分

★★★★★
书籍介绍

非常有影响力的计算机科学著作之一,

融深邃思想、实战技术与趣味轶事于一炉的奇书,

带你真正领略计算机科学之美!

“《编程珠玑》是对我职业生涯早期影响最大的书之一,其中的许多真知灼见多年之后仍然使我受益匪浅。”

——Steve McConnell,软件工程大师,IEEE Software前主编,《代码大全》作者

◎编辑推荐

多年以来,当让程序员推选喜爱的计算机图书时,《编程珠玑》总是位于前列。正如自然界里珍珠出自细沙对牡蛎的磨砺,计算机科学大师乔恩·本特利以其独有的洞察力和创造力,从磨砺程序员的实际问题中凝结出一篇篇编程“珠玑”,成为世界计算机界名刊《ACM通讯》历史上*受欢迎的专栏,*终结集为两部计算机科学经典名著,影响和激励着一代又一代程序员和计算机科学工作者。本书为第一卷,主要讨论计算机科学中*本质的问题:如何正确选择和高效地实现算法。

在书中,作者选取许多具有典型意义的复杂编程和算法问题,生动描绘了历史上大师们在探索解决方案中发生的轶事、走过的弯路和不断精益求精的历程,引导读者像真正的程序员和软件工程师那样富于创新性地思考,并透彻阐述和总结了许多独特而精妙的设计原则、思考和解决问题的方法以及实用程序设计技巧。解决方案的代码均以C/C++语言编写,不仅有趣,而且有很大的实战示范意义。每章后所附习题极具挑战性和启发性,书末给出了简洁的解答。

◎内容简介

本书是计算机科学方面的经典名著。书的内容围绕程序设计人员面对的一系列实际问题展开。作者Jon Bentley 以其独有的洞察力和创造力,引导读者理解这些问题并学会解决方法,而这些正是程序员实际编程生涯中至关重要的。本书的特色是通过一些精心设计的有趣而又颇具指导意义的程序,对实用程序设计技巧及基本设计原则进行了透彻而睿智的描述,为复杂的编程问题提供了清晰而完备的解决思路。本书对各个层次的程序员都具有很高的阅读价值。

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

AI导读
核心看点
  • 聚焦算法选择与高效实现,通过经典案例揭示编程本质
  • 强调解决正确问题的重要性,打破思维定势与概念壁垒
  • 融合深邃思想与实战技巧,引导读者像专家一样创新思考
适合谁读
  • 希望提升算法设计与问题解决能力的中高级程序员
  • 计算机专业学生及渴望深入理解计算机科学之美的读者
  • 对软件工程质量、性能优化及底层原理有追求的技术人员
读前提醒
  • 建议配合英文版阅读,因中译本存在部分翻译不通顺问题
  • 不要急于求成,需反复咀嚼习题与原理,重在思考而非速读
  • 书中部分技术背景较老,应关注其设计思想而非具体代码实现
读者共识
  • 内容精炼深刻,被誉为改变程序员职业生涯轨迹的经典之作
  • 虽年代久远,但其算法思想与设计原则至今仍具极高指导价值
  • 习题极具启发性,但部分读者反映翻译质量影响了阅读体验

本导读基于书籍简介、目录、原文摘录、短评和书评生成,不等同于全文精读。

精彩摘录
  • "位图或位向量表示集合"
  • "习题2:如何使用位逻辑运算来实现位向量?"
  • "他们估计那些经过极度调优的代码(具有谨慎的寄存器分配和指令选择)的规模只有从高级语言编译过来的等价代码的一半(尽管那时编译器已经有了很大的改进)。紧凑的汇编代码运行起来也非常快。"
  • "我错就错在马上回答了这个问题。"
  • "程序员的主要问题与其说是技术问题,还不如说是心理问题:他不能解决问题,是因为他企图解决错误的问题。问题的最终解决,是通过打破他的概念壁垒。"
  • "Rework repeated code into arrays. A long stretch of similar code is often best expressed by the simplest of data structures,the array. Encapsulate complex structures. When you need a sophisticated data structure,define it in abstract terms,and express those operations as a class. Use advanced tools "
  • "from[i]<top并且to[from[i]]=i"
  • "第九题:顺序搜索和二分搜索代表了搜索时间和预处理时间的折中。处理一个n元表格时,需要执行多少次二分搜索才能弥补排序带来的消耗?"
作者简介
Jon Bentley,世界著名计算机科学家,被誉为影响算法发展的十位大师之一。先后任职于卡内基-梅隆大学(1976—1982)、贝尔实验室(1982—2001)和Avaya实验室(2001年至今)。在卡内基-梅隆大学担任教授期间,培养了包括 Tcl 语言设计者 John Ousterhout、Java语言设计者 James Gosling、《算法导论》作者之一 Charles Leiserson 在内的许多计算机科学大家。2004年荣获 Dr. Dobb's 程序设计卓越奖。
目录
第 一部分 基础
第 1章 开 篇 3
1.1 一次友好的对话 3
1.2 准确的问题描述 4
1.3 程序设计 4

显示全部
用户评论
2022.6.25-2022.10.6 值得多读几遍的好书。上学时候从图书馆还借过这本书的第一版,可惜的是那时候只翻了几页。现在读完后,才发现日后碰到的一些问题的解决方法就在其中。如果当初早点读完这本书,定能少走很多弯路,节省很多时间。唉,读书要趁早!
这本书很多人都推荐,学算法必看的一本书,书不厚,内容很经典,深入浅出,满满的都是干货,学完数据结构后,进一步学算法的必读经典之作。
非常经典的书籍,这一版翻译的还不错,英文版的内容非常经典,希望看了书能学以致用。书不厚,纸张也不大,可以作为手册时常翻翻看看。
经典永流传
收藏