Description

Book Synopsis
.

Table of Contents

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.

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.

III. THE PRODUCT.

Column 11. Sorting.


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. 0201657880T04062001

Programming Pearls

    Product form

    £30.14

    Includes FREE delivery

    RRP £33.49 – you save £3.35 (10%)

    Order before 4pm today for delivery by Mon 8 Jun 2026.

    A Paperback / softback by Jon Bentley

    1 in stock


      View other formats and editions of Programming Pearls by Jon Bentley

      Publisher: Pearson Education (US)
      Publication Date: 13/10/1999
      ISBN13: 9780201657883, 978-0201657883
      ISBN10: 0201657880

      Description

      Book Synopsis
      .

      Table of Contents

      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.

      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.

      III. THE PRODUCT.

      Column 11. Sorting.


      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. 0201657880T04062001

      Recently viewed products

      © 2026 Book Curl

        • American Express
        • Apple Pay
        • Diners Club
        • Discover
        • Google Pay
        • Maestro
        • Mastercard
        • PayPal
        • Shop Pay
        • Union Pay
        • Visa

        Login

        Forgot your password?

        Don't have an account yet?
        Create account