编程珠玑

Jon Bentley

出版时间

2006-11-01

ISBN

9787115151711

评分

★★★★★
书籍介绍
这不像一本按章节系统讲授算法的教科书,而像一位资深工程师把你拉到白板前,一道一道陪你啃真实问题的过程。书中那些看似琐碎的小题目——如何用位向量紧凑地表示集合、为什么一段重复代码不如换成数组、快排究竟该怎么写——背后藏着同一个主张:程序设计的难点往往不在技术,而在你是否想对了问题。它不急着给你公式和模板,而是逼你先厘清输入、输出与中间数据的结构,再让数据结构本身去“编程”。正因如此,它既被当作面试主力参考反复咀嚼,也常被抱怨“内容散乱、语言干瘪”。它适合那些愿意慢下来、把小问题想透的人,而非寻求速成手册的读者。
AI导读
核心看点
  • 基于ACM专栏,精选经典编程难题与智慧解法
  • 强调问题分析与设计思维,而非单纯罗列算法
  • 通过位向量、二分搜索等实例,展示工程优化技巧
读者共识
  • 薄而精悍,被誉为改变程序员职业生涯的经典之作
  • 重在启发思维,打破概念壁垒,受用终生
  • 虽篇幅短小,但含金量极高,值得反复研读
精彩摘录
  • "位图或位向量表示集合"
  • "习题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元表格时,需要执行多少次二分搜索才能弥补排序带来的消耗?"
用户评论
值得反复读。
第二本看完的英文原版。 程序员都值得一读的好书。 传说中把这本吃透了GBM随便挑。。。
内容散乱,语言干瘪,不太喜欢
几个小例子都不错,尤其是快排的
值得细细咀嚼的一本编程书籍,从中可以学到很多受用终生的编程小细节。
非常快的看了一遍,激发了我把以前专业课好好复习一遍的想法。
看过一点点,还蛮不错,适合休闲阅读
据说是值得反复读的书,不过我开了个头发现看不懂……还要继续努力啊。
编程珠玑是作者对编程的思考,其实不太适合大学生看。工作了这么多年后重温这本书,作者对编程的总结很到位。每一篇都是一个小主题,自己也可以考虑深入思考某个主题,然后写出文章来。
翻译不好,而且一些技术和例子有些过时,但也有些例子和习题可以帮助扩展思维。我觉得是没得书看的时候,可以看这本。
下载
收藏