Programming Pearls [2nd ed] 9780201657883, 0-201-65788-0

When programmers list their favorite books, Jon Bentley's collection of programming pearls is commonly included amo

309 55 41KB

English Pages 283 Year 2000

Report DMCA / Copyright

DOWNLOAD PDF FILE

Table of contents :
http://www.cs.bell-labs.com/cm/cs/pearls/code.html......Page 0
index.html......Page 1
What's New on the Programming Pearls Web Site......Page 3
Strings of Pearls......Page 4
sec151.html......Page 6
Problems......Page 10
Solutions to Column 1......Page 12
Word Frequencies......Page 16
Phrases......Page 18
Long Repeated Strings......Page 21
/longdup.c......Page 23
Generating Text......Page 24
Letter-Level Markov Text......Page 29
Word-Level Markov Text......Page 33
/markovlet.c......Page 36
/markov.c......Page 37
/markovhash.c......Page 39
Principles......Page 41
Solutions to Column 15......Page 42
Further Reading......Page 44
Web References for Programming Pearls......Page 45
Programming Pearls: Teaching Material......Page 49
/s02b.pdf......Page 51
/s02.pdf......Page 58
/s04.pdf......Page 66
/s07.pdf......Page 74
/s08.pdf......Page 81
/s13.pdf......Page 92
/s14.pdf......Page 101
/s15.pdf......Page 114
Tricks of the Trade......Page 126
/quiz.html......Page 128
Answers for an Estimation Quiz......Page 129
The Back of the Envelope......Page 130
First-Year Instruction......Page 132
Code from Programming Pearls......Page 134
/bitsort.c......Page 136
/sortints.cpp......Page 137
/qsortints.c......Page 138
/bitsortgen.c......Page 139
/rotate.c......Page 140
/sign.c......Page 144
/squash.c......Page 145
/search.c......Page 146
/timemod0.c......Page 151
/maxsum.c......Page 152
/genbins.c......Page 155
/macfun.c......Page 157
/sort.cpp......Page 159
/SortAnim.java......Page 166
/sortedrand.cpp......Page 171
/sets.cpp......Page 173
/priqueue.cpp......Page 180
/wordlist.cpp......Page 182
/wordfreq.cpp......Page 183
/wordfreq.c......Page 184
/spacemod.cpp......Page 186
/timemod.c......Page 188
Rules for Code Tuning......Page 190
Errata for Programming Pearls, Second Edition......Page 195
Cracking the Oyster......Page 196
Index to Programming Pearls......Page 198
A Small Matter of Programming......Page 210
Debugging......Page 211
Epilog to Programming Pearls, First Edition......Page 213
/tricks.pdf......Page 215
Precise Problem Statement......Page 230
Program Design......Page 231
Implementation Sketch......Page 233
Principles......Page 235
Problems......Page 237
Further Reading......Page 239
Basic Skills......Page 240
Performance Estimates......Page 243
Safety Factors......Page 245
Little's Law......Page 247
Principles......Page 248
Problems......Page 249
Further Reading......Page 251
Quick Calculations in Everyday Life......Page 252
Solutions to Column 7......Page 254
Cost Models for Time and Space......Page 256
About the First Edition of Programming Pearls......Page 261
Programming Pearls, Part 2: Performance......Page 263
Writing Correct Programs......Page 265
Algorithm Design Techniques......Page 266
Programming Pearls, Second Edition: Table of Contents......Page 267
Preface to Programming Pearls......Page 270
Programming Pearls, Part I: Preliminaries......Page 273
Aha! Algorithms......Page 274
Programming Pearls, Part III: The Product......Page 275
Heaps......Page 276
Solutions to Column 5......Page 277
Sorting Algorithm Animations from Programming Pearls......Page 279
Why A Second Edition of Programming Pearls?......Page 280
Epilog to Programming Pearls, Second Edition......Page 282
Recommend Papers

Programming Pearls [2nd ed]
 9780201657883, 0-201-65788-0

  • Commentary
  • Conversion from HTML.
  • 0 0 0
  • Like this paper and download? You can publish your own PDF file online for free in a few minutes! Sign Up
File loading please wait...
Citation preview

Programming Pearls, Second Edition by Jon Bentley. Addison-Wesley, Inc., 2000. ISBN 0-201-65788-0. 239 + xi pp. $24.95 This book is a collection of essays about a glamorous aspect of software: programming pearls whose origins lie beyond solid engineering, in the realm of insight and creativity. This book provides a guide for both students and experienced programmers about how to design and create programs, and how to think about programming. The book is full of small case studies, real examples, and interesting exercises for learning about how to program. This web page contains samples from the whole work for you to investigate. For teachers, the links below lead to some of the central material suitable for classroom use. Steve McConnell describes the book as ``a celebration of design in the small''. Browse this site to sample it yourself. What's new on this web site? From The Book Table of Contents Preface Part I: Preliminaries Column 1: Cracking the Oyster Column 2: Aha! Algorithms [Sketch] Column 4: Writing Correct Programs [Sketch] Column 5: A Small Matter of Programming [Sketch] Part II: Performance Column 7: The Back of the Envelope Column 8: Algorithm Design Techniques [Sketch] Part III: The Product Column 14: Heaps [Sketch] Column 15: Strings of Pearls Epilog to the First Edition Epilog to the Second Edition Appendix 2: An Estimation Quiz Appendix 3: Cost Models for Time and Space

Appendix 4: Rules for Code Tuning Solutions for Column 1 Column 5 Column 7 Column 15 Index About The Book Why a Second Edition? To Readers of the First Edition About the First Edition Errata Supporting Material Source Code Web Sites Relevant to the Book Animation of Sorting Algorithms Tricks of the Trade Teaching Material Other Links ● ● ●

Addison-Wesley Computer & Engineering Publishing Group Programming Pearls at Addison-Wesley Bookstores: Amazon.com, Barnes & Noble, Borders.com, Fatbrain.com, Quantum Books.

Copyright © 1999 Lucent Technologies. All rights reserved. Thu 19 Oct 2000

What's New on the Programming Pearls Web Site November 2000 Column 15 is now on the site, complete with a new program for letter-level Markov text, and new examples of word frequencies, long repeated strings, and letter-level and wordlevel Markov text.

October 2000 The rules for code tuning from my 1982 book Writing Efficient Programs are now online, and so is a Powerpoint Show on Cache-Conscious Algorithms and Data Structures.

August 2000 The errata just keeps on growing. If you see errors, please send them in.

July 2000 Programming Pearls is often used for teaching undergraduates. This page describes how some of the topics in the book can be incorporated into college classrooms.

March 2000 A theme running through the book concerns the Tricks of the Trade. This page describes that topic and contains a Powerpoint Show on the subject. Copyright © 1999 Lucent Technologies. All rights reserved. Mon 6 Nov 2000