| help | account  


Programming Pearls, 2nd Edition
View Larger Image
Jon Bentley
Addison-Wesley, Paperback, 2nd edition, Published October 1999, 256 pages, ISBN 0201657880
List Price: $39.99
Our Price: $31.50
You Save: $8.49 (21% Off)


FREE Shipping on Orders over $40!*
Availability: Out-Of-Stock

Customer Reviews: 2     Average Customer Rating:

Write a Review and tell the world about this title!

People who purchase this book frequently purchase:

Books on similar topics, in best-seller order:Books from the same publisher, in best-seller order:


"The first edition of Programming Pearls was one of the most influential books I read early in my career, and many of the insights I first encountered in that book stayed with me long after I read it. Jon has done a wonderful job of updating the material. I am very impressed at how fresh the new examples seem."

—Steve McConnell

When programmers list their favorite books, Jon Bentley’s collection of programming pearls is commonly included among the classics. Just as natural pearls grow from grains of sand that irritate oysters, programming pearls have grown from real problems that have irritated real programmers. With origins beyond solid engineering, in the realm of insight and creativity, Bentley’s pearls offer unique and clever solutions to those nagging problems. Illustrated by programs designed as much for fun as for instruction, the book is filled with lucid and witty descriptions of practical programming techniques and fundamental design principles. It is not at all surprising that Programming Pearls has been so highly valued by programmers at every level of experience.

In this revision, the first in 14 years, Bentley has substantially updated his essays to reflect current programming methods and environments. In addition, there are three new essays on
• testing, debugging, and timing
• set representations
• string problems
All the original programs have been rewritten, and an equal amount of new code has been generated. Implementations of all the programs, in C or C++, are now available on the Web.

What remains the same in this new edition is Bentley’s focus on the hard core of programming problems and his delivery of workable solutions to those problems. Whether you are new to Bentley’s classic or are revisiting his work for some fresh insight, the book is sure to make your own list of favorites.


Table of Contents

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
A Typical Story
A First Aid Sampler
Major Surgery -- Binary Search
Principles
Problems
Further Reading

Column 10: Squeezing Space
The Key -- Simplicity
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
Insertion Sort
A Simple Quicksort
Better Quicksorts
Principles
Problems
Further Reading

Column 12: A Sample Problem
The Problem
ne 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 for Selected Problems

Index


Customer Reviews

Customer Reviews: 2     Average Customer Rating:

Sep 30, 2005     David Clark from Los Angeles, CA
Useful if you have never read an algorithm text
Whenever I read a book it starts out as a five star book for me. As problems pile up, I deduct stars. The book lost two stars for the following reasons:

It lost the first star because it mainly talks about basic algorithms but doesn't add much insight above what one finds in a good algorithm text. The table of contents make it clear that the book focuses on simple sorting and searching algorithms, but I expected more insight and practical advice. A beginning programmer who hasn't read an algorithms text would find this book useful. If you have read a basic algorithm text and have some programming experience then most of this will be old hat to you.

It lost a half star because of the out of date examples. Now many of the principles discussed are timeless. However these are precisely the principles that one would learn reading an algorithm text, without much new insight.

It lost the final half star because the book lacks a unifying theme. This is the danger of reprinting magazine articles in book form.

Jul 15, 2004     RJ Rangel from New Orleans, LA
Expand Your Mind / Test Your Solving Skills
This book will challenge and amuse you - or at least the computer programming part of you. Bently's prose is smooth and the text flows. The subject matter is handled in an insightful and sometimes novel way. Don't let the table of contents fool you into thinking there is nothing new here. Each chapter is like going to lunch with a programming Guru and discussing a particular problem informally.



Forgot your password?
FAQs
Shipping Options
Returns
Your Orders
Your Account