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)
| | | 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: - Pragmatic Programmer: From Journeyman to Master; Andrew Hunt, et al, $35.95, 22% Off!
- The Mythical Man-Month: Anniversary Edition; Frederick P. Brooks Jr., $31.50, 21% Off!
- The Practice of Programming; Brian Kernighan, et al, $34.95, 22% Off!
- Code Complete, 2nd Edition; Steve McConnell, $27.25, 45% Off!
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 Bentleys 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, Bentleys
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 Bentleys focus on the hard
core of programming problems and his delivery of workable solutions to those
problems. Whether you are new to Bentleys 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.
|