《编程珠玑 第2版 英文版》是计算机科学方面的经典名著。书的内容围绕程序设计人员面对的一系列实际问题展开。作者Jon Bentley 以其独有的洞察力和创造力,引导读者理解这些问题并学会解决方法,而这些正是程序员实际编程生涯中至关重要的。
《编程珠玑 第2版 英文版》的特色是通过一些精心设计的有趣而又颇具指导意义的程序,对实用程序设计技巧及基本设计原则进行了透彻而睿智的描述,为复杂的编程问题提供了清晰而完备的解决思路。本书对各个层次的程序员都具有很高的阅读价值。
非常有影响力的计算机科学著作之一 融深邃思想、实战技术与趣味轶事于一炉的奇书 带你真正领略计算机科学之美 多年以来,当程序员们推选出心爱的计算机图书时,《编程珠玑》总是位于前列。正如自然界里珍珠出自细沙对牡蛎的磨砺,计算机科学大师Jon Bentley以其独有的洞察力和创造力,从磨砺程序员的实际问题中凝结出一篇篇不朽的编程“珠玑”,成为世界计算机界名刊《ACM通讯》非常受欢迎的专栏,结集为两部不朽的计算机科学经典名著,影响和激励着一代又一代程序员和计算机科学工作者。本书为第1卷,主要讨论计算机科学中很本质的问题:如何正确选择和高效地实现算法。 在书中,作者选取许多具有典型意义的复杂编程和算法问题,生动描绘了历史上众大师们在探索解决方案中发生的轶事、走过的弯路和不断精益求精的历程,引导读者像真正的程序员和软件工程师那样富于创新性地思考,并透彻阐述和总结了许多独特而精妙的设计原则、思考和解决问题的方法以及实用程序设计技巧。解决方案的代码均以C/C++语言编写,不仅有趣,而且有很大的实战示范意义。每章后所附习题极具挑战性和启发性,书末给出了简洁的解答。
Jon Bentley 世界知名的计算机科学家,被誉为影响算法发展的十位大师之一。他先后任职于卡内基-梅隆大学(1976~1982)、贝尔实验室(1982~2001)和Avaya实验室(2001年至今)。在卡内基-梅隆大学担任教授期间,他培养了包括Tcl语言设计者John Ousterhout、Java语言设计者James Gosling、《算法导论》作者之一Charles E. Leiserson在内的许多计算机科学大家。2004年荣获Dr. Dobb's程序设计卓越奖。
Part I: PRELIMINARIES 1
第一部分 基础
Column 1: Cracking the Oyster 3
第1章 开 篇
A Friendly Conversation / 一次友好的对话
Precise Problem Statement / 准确的问题描述
Program Design / 程序设计
Implementation Sketch / 实现概要
Principles / 原理
Problems / 习题
Further Reading / 深入阅读
Column 2: Aha! Algorithms 11
第2章 啊哈!算法
Three Problems / 三个问题
Ubiquitous Binary Search / 无处不在的二分搜索
The Power of Primitives / 基本操作的威力
Getting It Together: Sorting / 排序
Principles / 原理
Problems / 习题
Further Reading / 深入阅读
Implementing an Anagram Program / 变位词程序的实现
Column 3: Data Structures Programs 21
第3章 数据决定程序结构
A Survey Program / 一个调查程序
Form-Letter Programming / 格式信函编程
An Array of Examples / 一组示例
Structuring Data / 结构化数据
Powerful Tools for Specialized Data / 用于特殊数据的强大工具
Principles / 原理
Problems / 习题
Further Reading / 深入阅读
Column 4: Writing Correct Programs 33
第4章 编写正确的程序
The Challenge of Binary Search / 二分搜索的挑战
Writing the Program / 编写程序
Understanding the Program / 理解程序
Principles / 原理
The Roles ofProgram Verification / 程序验证的角色
Problems / 习题
Further Reading / 深入阅读
Column 5: A Small Matter of Programming 45
第5章 编程小事
From Pseudocode to C / 从伪代码到C程序
A Test Harnes扫描算法
What Does It Matter? / 实际运行时间
Principles / 原理
Problems / 习题
Further Reading / 深入阅读
Column 9: Code Tuning 87
第9章 代码调优
A Typical Story / 典型的故事
A First Aid S结构
Binary Search Trees / 二分搜索树
Structures for Integers / 用于整数的结构
Principles / 原理
Problems / 习题
Further Reading / 深入阅读
A Real Searching Problem / 一个实际搜索问题
Column