编程珠玑(英文版·第2版)

编程珠玑(英文版·第2版)
作 者: 本特利
出版社: 人民邮电出版社
丛编项: 图灵程序设计丛书
版权说明: 本书为公共版权或经版权方授权,请支持正版图书
标 签: 程序设计
ISBN 出版时间 包装 开本 页数 字数
未知 暂无 暂无 未知 0 暂无

作者简介

  本特利,Jon Bentley,1953年2月20日出生于美国加州长滩。1974年毕业于斯坦福大学数学系,1976年获北卡罗来纳大学博士学位。他先后任职于卡内基-梅隆大学(1976-1982)、贝尔实验室(1982-2001)和Avaya实验室(2001年至今)。在卡内基-梅隆大学任教期间。他培养了许多后来知名的计算机大家。包括Scribe的开发者Brian Reid,Tcl语言设计者John Ousterhout,Java专家Joshua Bloch,Java语言设计者James Gosling,《算法导论》作者之——Charles Leiserson。2004年荣获Dr. Dobb’s程序设计卓越奖。

内容简介

《编程珠玑(英文版·第2版)》是计算机科学方面的经典名著。书的内容围绕程序设计人员面对的一系列实际问题展开。作者Jon Bentley以其独有的洞察力和创造力,引导读者理解这些问题并学会解决方法,而这些正是程序员实际编程生涯中至关重要的。《编程珠玑(英文版·第2版)》的特色是通过一些精心设计的有趣而又颇具指导意义的程序,对实用程序设计技巧及基本设计原则进行了透彻而睿智的描述,为复杂的编程问题提供了清晰而完备的解决思路。《编程珠玑(英文版·第2版)》对各个层次的程序员都具有很高的阅读价值。计算机科学的不朽经典,融深邃思想、实战技术与趣味轶事于一炉的奇书,字字珠玑,意味隽永。

图书目录

Part I: PRELIMINARIES 

Column 1: Cracking the Oyster 

A Friendly Conversation·Precise Problem Statement·Program Design·Implementation Sketch·Principles·Problems·Further Reading

Column 2: Aha! Algorithms 

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 

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 

The Challenge of Binary Search·Writing the Program·Understanding the Program·Principles·The Roles of Program Verification·Problems·Further Reading

Column 5: A Small Matter of Programming 

From Pseudocode to C·A Test Harness·The Art of Assertion·Automated Testing·Timing·The Complete Program·Principles·Problems·Further Reading·Debugging

Part II: PERFORMANCE 

Column 6: Perspective on Performance 

A Case Study·Design Levels·Principles·Problems·Further Reading

Column 7: The Back of the Envelope 

Basic Skills·Performance Estimates·Safety Factors·Little's Law·Principles·Problems·Further Reading·Quick Calculations in Everyday Life

Column 8: Algorithm Design Techniques 

The Problem and a Simple Algorithm·Two Quadratic Algorithms·A Divide-and-Conquer Algorithm·A Scanning Algorithm·What Does It Matter?·Principles·Problems·Further Reading

Column 9: Code Tuning 7

A Typical Story·A First Aid Sampler·Major Surgery——Binary Search·Principles·Problems·Further Reading

Column 10: Squeezing Space 

The KeySimplicity·An Illustrative Problem·Techniques for Data Space·Techniques for Code Space·Principles·Problems·Further Reading·A Big Squeeze

Part III: THE PRODUCT 

Column 11: Sorting 115

Insertion Sort·A Simple Quicksort·Better Quicksorts·Principles·Problems·Further Reading

Column 12: A Sample Problem 

The Problem·One Solution·The Design Space·Principles·Problems·Further Reading

Column 13: Searching 

The Interface·Linear Structures·Binary Search Trees·Structures for Integers·Principles·Problems·Further Reading·A Real Searching Problem

Column 14: Heaps 

The Data Structure·Two Critical Functions·Priority Queues·A Sorting Algorithm·Principles·Problems·Further Reading

Column 15: Strings of Pearls 

Words·Phrases·Generating Text·Principles·Problems·Further Reading

Epilog to the First Edition 

Epilog to the Second Edition 

Appendix 1: A Catalog of Algorithms 

Appendix 2: An Estimation Quiz 

Appendix 3: Cost Models for Time and Space 

Appendix 4: Rules for Code Tuning 

Appendix 5: C++ Classes for Searching 

Hints for Selected Problems 

Solutions to Selected Problems 

Index