编程珠玑

[美] Jon Bentley

出版时间

2008-10-01

ISBN

9787115179289

评分

★★★★★

标签

编程

书籍介绍
这并不是一本教你背算法题的书,而是一本教你如何思考的书。它最打动人的地方,恰恰是那种'慢':从一次友好的对话起步,把问题准确地说清楚,再一步步逼近解法,中间穿插着大师们的弯路、轶事与自我推翻。读它一天十页不算慢,囫囵吞枣才是常态——因为每一章都在训练你'打破概念壁垒'的能力:数据决定程序结构、用位向量表示集合、对每一行代码负责。它适合那些愿意'格物致知'、不满足于调包而想理解底层逻辑的程序员;也提醒急功近利者,若静不下心读基础,反而会误以为学到了什么。唯一公认的败笔是翻译,英文原版或许更值得托付。
作者简介
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元表格时,需要执行多少次二分搜索才能弥补排序带来的消耗?"
目录
第一部分 基础
第1章 开篇
1.1 一次友好的对话
1.2 准确的问题描述
1.3 程序设计

显示全部
用户评论
很细节的问题啊,习题很有启发性
值得一看,我一直不觉得这样的内容属于算法,我觉得更属于逻辑思维层面的东西
读的越晚 发现自己越不需要它 干活地要细致入微 格物致知
#纸质书# 果然是珠玑!
习题没全做完,有答案的都基本做了。这是一本好书,值得多翻翻多回味。(不停地推荐TAOCP
08年入职摩根士丹利公司发的科普读物,怀念当年心无旁骛一心工作的日子
若干年前读的
只要你热爱它,编程也可以很有意思
书的内容是有启发意义的,但也没感觉有那么好。翻译太烂了,译者功底差劲,导致读的时候边看边猜原著的表述,太影响理解了。看的实在难受。
名字言过其实的,讲得还是很基础的东西。
下载
收藏