Buy new:
-20% $35.77
FREE delivery Monday, August 19
Ships from: Amazon.com
Sold by: Amazon.com
$35.77 with 20 percent savings
List Price: $44.99

The List Price is the suggested retail price of a new product as provided by a manufacturer, supplier, or seller. Except for books, Amazon will display a List Price if the product was purchased by customers on Amazon or offered by other retailers at or above the List Price in at least the past 90 days. List prices may not necessarily reflect the product's prevailing market price.
Learn more
FREE Returns
FREE delivery Monday, August 19
Or Prime members get FREE delivery Wednesday, August 14. Order within 7 hrs 4 mins.
In Stock
$$35.77 () Includes selected options. Includes initial monthly payment and selected options. Details
Price
Subtotal
$$35.77
Subtotal
Initial payment breakdown
Shipping cost, delivery date, and order total (including tax) shown at checkout.
Ships from
Amazon.com
Ships from
Amazon.com
Sold by
Amazon.com
Sold by
Amazon.com
Returns
30-day refund/replacement
30-day refund/replacement
This item can be returned in its original condition for a full refund or replacement within 30 days of receipt.
Returns
30-day refund/replacement
This item can be returned in its original condition for a full refund or replacement within 30 days of receipt.
Payment
Secure transaction
Your transaction is secure
We work hard to protect your security and privacy. Our payment security system encrypts your information during transmission. We don’t share your credit card details with third-party sellers, and we don’t sell your information to others. Learn more
Payment
Secure transaction
We work hard to protect your security and privacy. Our payment security system encrypts your information during transmission. We don’t share your credit card details with third-party sellers, and we don’t sell your information to others. Learn more
$16.29
Get Fast, Free Shipping with Amazon Prime FREE Returns
The book may have minor cosmetic wear like creased spine, cover, scratches, curled corners, folded pages, minor sunburn, minor water damage, minor bent. The book may have some highlights, notes, underlined pages. Accessories such as CD, codes, toys, may not be included . Safe and Secure Mailer. No Hassle Return The book may have minor cosmetic wear like creased spine, cover, scratches, curled corners, folded pages, minor sunburn, minor water damage, minor bent. The book may have some highlights, notes, underlined pages. Accessories such as CD, codes, toys, may not be included . Safe and Secure Mailer. No Hassle Return See less
FREE delivery August 29 - September 11 on orders shipped by Amazon over $35
Or fastest delivery August 27 - September 6
$$35.77 () Includes selected options. Includes initial monthly payment and selected options. Details
Price
Subtotal
$$35.77
Subtotal
Initial payment breakdown
Shipping cost, delivery date, and order total (including tax) shown at checkout.
Access codes and supplements are not guaranteed with used items.
Kindle app logo image

Download the free Kindle app and start reading Kindle books instantly on your smartphone, tablet, or computer - no Kindle device required.

Read instantly on your browser with Kindle for Web.

Using your mobile phone camera - scan the code below and download the Kindle app.

QR code to download the Kindle App

Follow the author

Something went wrong. Please try your request again later.

Programming Pearls 2nd Edition

4.4 4.4 out of 5 stars 367 ratings

{"desktop_buybox_group_1":[{"displayPrice":"$35.77","priceAmount":35.77,"currencySymbol":"$","integerValue":"35","decimalSeparator":".","fractionalValue":"77","symbolPosition":"left","hasSpace":false,"showFractionalPartIfEmpty":true,"offerListingId":"bZwDboBdJNpZwLCx7Af8LQrQKiwtCkN9D9iG%2BXKKnso%2B4fMsPKKfk%2BEe4W%2Fbsz869NQQwjcymYu7Ev5v%2Bd8Re3PY0EdJdgZdVndpnH107sXSWlgsIqzIy3Xfx6xkpeXa729580Y3vuo%3D","locale":"en-US","buyingOptionType":"NEW","aapiBuyingOptionIndex":0}, {"displayPrice":"$16.29","priceAmount":16.29,"currencySymbol":"$","integerValue":"16","decimalSeparator":".","fractionalValue":"29","symbolPosition":"left","hasSpace":false,"showFractionalPartIfEmpty":true,"offerListingId":"bZwDboBdJNpZwLCx7Af8LQrQKiwtCkN9r1WKoFUIlKlh5FLgwFxplwAUfp7%2Fa%2BMtwhZ3RGld6HHi3U5paQW1BM9paMNjL%2FWPnwzdBUJevsZjurHi4YCerBN9rWrroLvLwOhGMT23UdBhcpCbLQi3yotxeBn4TfUPi8lvCspTEEW5Dbi73aidBuaHTjgPwULU","locale":"en-US","buyingOptionType":"USED","aapiBuyingOptionIndex":1}]}

Purchase options and add-ons

When programmers list their favourite 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.

What remains the same in this 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 favourites.


Your Company Bookshelf
Save time and resources when buying books in bulk Learn more

Frequently bought together

This item: Programming Pearls
$35.77
Get it as soon as Monday, Aug 19
In Stock
Ships from and sold by Amazon.com.
+
$35.95
Get it as soon as Sunday, Aug 18
In Stock
Ships from and sold by Amazon.com.
+
$32.99
Get it Aug 27 - 29
Usually ships within 5 to 6 days
Ships from and sold by KJT Supplies.
Total price:
To see our price, add these items to your cart.
Details
Added to Cart
spCSRF_Treatment
Some of these items ship sooner than the others.
Choose items to buy together.

From the Publisher

Programmer on lap top with copy of Programming Pearls

A Must-Read for Every Working and Aspiring Programmer

This classic is on just about every single must-read list for programmers including lists featured on Lifehacker, Career Karma, DZone, Coding Jojo, Geeks for Geeks, and more.

"Since programming is really about problem solving, you’ll appreciate the thought process and 'back of the envelope' solutions that Jon Bentley shares in Programming Pearls (2nd Edition). Every chapter ends with a number challenges that are often used in technical job interviews, so make this book part of your job prep."

—Lifehacker's list of "14 Great Ways to Teach Yourself Code"

Editorial Reviews

Amazon.com Review

Fourteen years after it was first issued, C++ expert Jon Bentley reinvents a true classic with the second edition of his Programming Pearls. Completely revised and brought up to date with all new code examples in C and C++, this book remains an exceptional tutorial for learning to think like a programmer.

The "pearls" in question center not only on choosing the right algorithms (like binary searches, sorting techniques, or sparse arrays) but also on showing how to solve problems effectively. Each chapter frames a particular programming task--such as sorting numbers, creating anagrams, or counting the words in a block of text--many drawn from Bentley's experiences in his long career as a developer. The book traces the process of arriving at a fast, efficient, and accurate solution, along with code profiling to discover what works best. After refining the correct answer, each chapter enumerates programming principles that you can use on your own.

The author also challenges you to think like an engineer, and each chapter ends with about a dozen problems to get you thinking creatively about design issues. (Sidebars on such historical topics as the first computer solutions to computer chess, spell-checking, and even architectural design help create a perspective on successful problem solving and make for a truly educational and enjoyable tour of how to become a better programmer.) Bentley also asks the reader to think analytically about the world with "back of the envelope" estimation techniques drawn from engineering. Appendices list the algorithms and code rules covered in the book, plus some sample solutions.

Fans of the first edition of this title will be pleased to see this favorite computer text brought up to date for today's faster hardware. Whether you want to improve your command of algorithms or test your problem-solving skills, the new version of Programming Pearl is a challenging, instructive, and thoroughly entertaining resource. --Richard Dragan

Topics covered: Programming and problem-solving tutorial, sorting algorithms, merge sort, bit vectors, binary searches, program correctness and testing, improving performance, engineering and problem-solving techniques, performance estimates, designing for safety, divide-and-conquer and scanning algorithms, tuning code, tips for more efficient memory usage, insertion sort, quicksort algorithms, sparse arrays, searching algorithms, binary search trees, heaps, priority queues, searching text, and generating random text.

From the Inside Flap

Computer programming has many faces. Fred Brooks paints the big picture in

The Mythical Man Month; his essays underscore the crucial role of management

in large software projects. At a finer grain, Steve McConnell teaches good programming

style in Code Complete. The topics in those books are the key to good software

and the hallmark of the professional programmer. Unfortunately, though, the

workmanlike application of those sound engineering principles isn't always thrilling

-- until the software is completed on time and works without surprise.

About the Book
The columns in this book are about a more glamorous aspect of the profession:

programming pearls whose origins lie beyond solid engineering, in the realm

of insight and creativity. Just as natural pearls grow from grains of sand that

have irritated oysters, these programming pearls have grown from real problems

that have irritated real programmers. The programs are fun, and they teach important

programming techniques and fundamental design principles.

Most of these essays originally appeared in my ''Programming Pearls'' column

in Communications of the Association for Computing Machinery. They were

collected, revised and published as the first edition of this book in 1986.

Twelve of the thirteen pieces in the first edition have been edited substantially

for this edition, and three new columns have been added.

The only background the book assumes is programming experience in a high-level

language. Advanced techniques (such as templates in C++) show up now and then,

but the reader unfamiliar with such topics will be able to skip to the next

section with impunity.

Although each column may be read by itself, there is a logical grouping to

the complete set. Columns 1 through 5 form Part I of the book. They review programming

fundamentals: problem definition, algorithms, data structures and program verification

and testing. Part II is built around the theme of efficiency, which is sometimes

important in itself and is always a fine springboard into interesting programming

problems. Part III applies those techniques to several substantial problems

in sorting, searching and strings.

One hint about reading the essays: don't go too fast. Read them carefully,

one per sitting. Try the problems as they are posed -- some of them look easy

until you've butted your head against them for an hour or two. Afterwards, work

hard on the problems at the end of each column: most of what you learn from

this book will come out the end of your pencil as you scribble down your solutions.

If possible, discuss your ideas with friends and colleagues before peeking at

the hints and solutions in the back of the book. The further reading at the

end of each chapter isn't intended as a scholarly reference list; I've recommended

some good books that are an important part of my personal library.

This book is written for programmers. I hope that the problems, hints, solutions,

and further reading make it useful for individuals. The book has been used in

classes including Algorithms, Program Verification and Software Engineering.

The catalog of algorithms in Appendix 1 is a reference for practicing programmers,

and also shows how the book can be integrated into classes on algorithms and

data structures.

The Code
The pseudocode programs in the first edition of the book were all implemented,

but I was the only person to see the real code. For this edition, I have rewritten

all the old programs and written about the same amount of new code. The programs

are available at this book's web site. The code includes much of the scaffolding

for testing, debugging and timing the functions. The site also contains other

relevant material. Because so much software is now available online, a new theme

in this edition is how to evaluate and use software components.

The programs use a terse coding style: short variable names, few blank lines,

and little or no error checking. This is inappropriate in large software projects,

but it is useful to convey the key ideas of algorithms. Solution 5.1 gives more

background on this style. The text includes a few real C and C++ programs, but

most functions are expressed in a pseudocode that takes less space and avoids

inelegant syntax. The notation for i = 0, n) iterates i from

0 through n-1. In these for loops, left and right parentheses denote

open ranges (which do not include the end values), and left and right square

brackets denote closed ranges (which do include the end values). The phrase

function(i, j) still calls a function with parameters i and j,

and arrayi, j still accesses an array element.

This edition reports the run times of many programs on ''my computer'', a 400MHz

Pentium II with 128 megabytes of RAM running Windows NT 4.0. I timed the programs

on several other machines, and the book reports the few substantial differences

that I observed. All experiments used the highest available level of compiler

optimization. I encourage you to time the programs on your machine; I bet that

you'll find similar ratios of run times.

To Readers of the First Edition
I hope that your first response as you thumb through this edition of the book

is, ''This sure looks familiar.'' A few minutes later, I hope that you'll observe,

''I've never seen that before.''

This version has the same focus as the first edition, but is set in a larger

context. Computing has grown substantially in important areas such as databases,

networking and user interfaces. Most programmers should be familiar users of

such technologies. At the center of each of those areas, though, is a hard core

of programming problems. Those programs remain the theme of this book. This

edition of the book is a slightly larger fish in a much larger pond.

One section from old Column 4 on implementing binary search grew into new Column

5 on testing, debugging and timing. Old Column 11 grew and split into new Columns

12 (on the original problem) and 13 (on set representations). Old Column 13

described a spelling checker that ran in a 64-kilobyte address space; it has

been deleted, but its heart lives on in Section 13.8. New Column 15 is about

string problems. Many sections have been inserted into the old columns, and

other sections were deleted along the way. With new problems, new solutions,

and four new appendices, this edition of the book is 25 percent longer.

Many of the old case studies in this edition are unchanged, for their historical

interest. A few old stories have been recast in modern terms.

Acknowledgments for the First Edition
I am grateful for much support from many people. The idea for a Communications

of the ACM column was originally conceived by Peter Denning and Stuart Lynn.

Peter worked diligently within ACM to make the column possible and recruited

me for the job. ACM Headquarters staff, particularly Roz Steier and Nancy Adriance,

have been very supportive as these columns were published in their original

form. I am especially indebted to the ACM for encouraging publication of the

columns in their present form, and to the many CACM readers who made

this expanded version necessary and possible by their comments on the original

columns.

Al Aho, Peter Denning, Mike Garey, David Johnson, Brian Kernighan, John Linderman,

Doug McIlroy and Don Stanat have all read each column with great care, often

under extreme time pressure. I am also grateful for the particularly helpful

comments of Henry Baird, Bill Cleveland, David Gries, Eric Grosse, Lynn Jelinski,

Steve Johnson, Bob Melville, Bob Martin, Arno Penzias, Marilyn Roper, Chris

Van Wyk, Vic Vyssotsky and Pamela Zave. Al Aho, Andrew Hume, Brian Kernighan,

Ravi Sethi, Laura Skinger and Bjarne Stroustrup provided invaluable help in

bookmaking, and West Point cadets in EF 485 field tested the penultimate draft

of the manuscript. Thanks, all.

Acknowledgments for the Second Edition
Dan Bentley, Russ Cox, Brian Kernighan, Mark Kernighan, John Linderman, Steve

McConnell, Doug McIlroy, Rob Pike, Howard Trickey and Chris Van Wyk have all

read this edition with great care. I am also grateful for the particularly helpful

comments of Paul Abrahams, Glenda Childress, Eric Grosse, Ann Martin, Peter

McIlroy, Peter Memishian, Sundar Narasimhan, Lisa Ricker, Dennis Ritchie, Ravi

Sethi, Carol Smith, Tom Szymanski and Kentaro Toyama. I thank Peter Gordon and

his colleagues at Addison-Wesley for their help in preparing this edition.

0201657880P04062001

Product details

  • Publisher ‏ : ‎ Addison-Wesley Professional; 2nd edition (September 27, 1999)
  • Language ‏ : ‎ English
  • Paperback ‏ : ‎ 256 pages
  • ISBN-10 ‏ : ‎ 0201657880
  • ISBN-13 ‏ : ‎ 978-0201657883
  • Item Weight ‏ : ‎ 15.8 ounces
  • Dimensions ‏ : ‎ 9.1 x 6.2 x 0.6 inches
  • Customer Reviews:
    4.4 4.4 out of 5 stars 367 ratings

About the author

Follow authors to get new release updates, plus improved recommendations.
Jon Louis Bentley
Brief content visible, double tap to read full content.
Full content visible, double tap to read brief content.

Discover more of the author’s books, see similar authors, read author blogs and more

Customer reviews

4.4 out of 5 stars
367 global ratings

Customers say

Customers find the book practical and realistic, with non-trivial programming tasks to train programming abilities. Opinions are mixed on the writing style, with some finding it informative and detailed, while others say it's dry.

AI-generated from the text of customer reviews

Select to learn more
33 customers mention "Practicality"28 positive5 negative

Customers find the book practical, with compelling examples and a realistic methodology. They also say it's a good read to refresh problem-solving skills, and an interesting complement to algorithm textbooks. Readers also mention the book is highly indicated for every kind of programmers, from beginners to most experienced. They appreciate the words of wisdom from an era that was not spoiled by abundant memory.

"...As well as this simple, yet surprisingly effective and realistic methodology, Bentley provides a range of concrete tips on making things go faster,..." Read more

"...The book is full of little (and some not so little) exercises that are given throughout the chapters. Solutions or hints are given at the end...." Read more

"...Great way to prepare programming interview questions, whether you're an interviewer or interviewee." Read more

"...It's a nonstop litany of fascinating and timeless problems from some of the most interesting years or software...." Read more

13 customers mention "Writing style"8 positive5 negative

Customers have mixed opinions about the writing style. Some find the book informative and detailed, while others say the language is dry and difficult to keep. They also mention that the book contains inconsistencies in notation, improperly explained terminology, and incomplete analyses.

"...And it's made clearly, concisely and with compelling examples...." Read more

"...There are inconsistencies in notation, improperly explained terminology, and incomplete analyses...." Read more

"...The writing style is clear and fun.Programming Pearls is not a usual book teaching new programming concepts...." Read more

"...The book is definitely more up-to-date and readable...." Read more

I got a poor quality edition
4 out of 5 stars
I got a poor quality edition
I received a poor quality book labeled "Circulation of this edition outside the Indian subcontinent is UNAUTHORIZED".Pages look like they were printed on an office printer/copier.
Thank you for your feedback
Sorry, there was an error
Sorry we couldn't load the review

Top reviews from the United States

Reviewed in the United States on July 27, 2002
Bentley's classic, "Programming Pearls", makes an important point, namely that you won't get good performance without careful coding and profile-based tuning. And it's made clearly, concisely and with compelling examples. The choice of language (C), and the choice of problems (those from computer science 101 we all think we know cold) betrays the sophistication of Bentley's analyses.
Suppose, for the sake of argument, that you have a binary search that's holding up your loop. Or your Huffman coding just isn't snappy enough? "How is that possible?", you might say, fresh out of computer-science 201, "Didn't we just prove these algorithms are optimal?" Well yes, asymptotically up to an arbitrary constant multiplier. But this is the real world, and your code needs to go faster. If this sounds like your predicament, pull up a chair and read "Programming Pearls"; if it's not, you might wonder what all the fuss is about.
Next, fire up your favorite hardware (Sparc or x86 or PowerPC), favorite language (Perl, Java, or even C), favorite release of that language, along with your favorite interpreter or compiler (Hotspot or standard? GCC or Visual C++). And you'll need a profiler; might as well treat yourself to a good one if you're serious. Then fire up your code with a representative range realistic test data and observe what happens. Function by function, byte by byte. Then try to be as clever as Bentley in (a) figuring out why, (b) trying a range of alternatives, and (c) making it all go faster with minor tuning. Typically, you'll find a single bottleneck taking an order of magnitude more time than everything else, and work on that. Repeat until fast enough.
As well as this simple, yet surprisingly effective and realistic methodology, Bentley provides a range of concrete tips on making things go faster, from tweaking data structures to unfolding loops (especially precomputing low-order cases) to using accumulators and caching, all with an eye to underlying memory, communication and CPU resources.
Real code that has to run fast, like the code that we write at my current company for signal processing, speech recognition and speech synthesis, typically looks like the end-product of Bentley's refactorings. And it gets that way following exactly the path he lays out: analyze the problem, choose the right algorithm (or the right few to evaluate), and then tune it up using profiling.
"Programming Pearls" is the beginning of the road. You will need to look elsewhere for topics such as compression for memory saving, numerical algorithms, effective concurrency and memory sharing, efficient buffered I/O, garbage collection, and the wide range of dynamic programming and heuristic techniques.
32 people found this helpful
Report
Reviewed in the United States on August 19, 2004
Programming pearls is a compendium of 15 columns previously published in Communications of the ACM. The columns cover a wide range of topics related to programming: from requirements gathering to performance tuning. The focus is primarily on coding techniques and algorithms.

Each column has been reorganized as a chapter. Chapters usually start with the presentation of a practical problem. Then various solutions are presented and are used as lessons to be learned. The writing style is clear and fun.

Programming Pearls is not a usual book teaching new programming concepts. Although it contains good and sometimes quite novel ideas, the aim of the book is not to teach something new. For example, the search and sort algorithms presented are well-known. The aim is to remind programmers to think hard before starting writing code. The book has great chapter on back-of-the-envelope computation for example which is useful when comparing various solutions. The easy solutions to the column's problems are usually very slow. The `good' solutions are lightening fast but require thinking hard about the problems. I would recommend having a book about algorithms nearby when reading Programming Pearls.

The book is full of little (and some not so little) exercises that are given throughout the chapters. Solutions or hints are given at the end. The exercises usually take a few hours to do properly and are a great resource. Again the emphasis is on making the reader think.

If you consider programming a repetitious activity, Programming Pearls will provoke you into thinking harder about finding elegant solutions. I recommend this book.
35 people found this helpful
Report
Reviewed in the United States on June 16, 2008
If this book doesn't get you excited about programming, I don't know what will. Bentley writes about programming problems that are as glamorous as hollywood. The collective wisdom of the Bell labs super-stars shines through in the background information and problems which the author picked.

I went back and read some of the columns from the ACM magazine which this book originated from. The book is definitely more up-to-date and readable.

I cannot over-emphasize the value of trying out the problems in the book without cheating and looking at the answers or hints. Great way to prepare programming interview questions, whether you're an interviewer or interviewee.
5 people found this helpful
Report
Reviewed in the United States on February 27, 2017
"Programming Pearls" is far and away my favorite book on programming. If "Code Complete" is the "meat and potatoes" of software books, this is the garnish and the dessert. It's a nonstop litany of fascinating and timeless problems from some of the most interesting years or software. Reading it and tackling the problems is at once a humbling and enlightening experience. Almost all topics covered still apply today, at least in an allegorical sense. I can't recommend it highly enough.
Reviewed in the United States on July 2, 2010
If you want to learn about the latest web programming frameworks, design patterns, J2EE, .NET, CSS, RoR, etc. then please stay away from this book. Once you think you mastered it all, became a professional programmer with also a nice CS degree under your belt come back and start to read this book for pure pleasure and wisdom. It is with high probability that you'll have both and more than you could have imagined.

Bentley's classic work is still relevant but not in ways most programmers will imagine at the beginning. You'll probably never go and write your own search routines and re-implement classical data structures (you'll use the one that comes with the standard libraries of your language of choice) but you'll always meet some problems which will puzzle you with interesting constraints. This is what Programming Pearls is all about. Study the examples for fun and maybe laugh at them for their simplicity but then remember to applied the strong principles in that book to your daily technical problems (programming related or not).
8 people found this helpful
Report

Top reviews from other countries

Translate all reviews to English
Shahbaz Ali
5.0 out of 5 stars Five stars ⭐️ ⭐️ ⭐️ ⭐️ ⭐️
Reviewed in India on July 11, 2020
This book is must read it has many things that you need to know don’t pay attention to comments saying it’s outdated. I found this book very helpful.
Customer image
Shahbaz Ali
5.0 out of 5 stars Five stars ⭐️ ⭐️ ⭐️ ⭐️ ⭐️
Reviewed in India on July 11, 2020
This book is must read it has many things that you need to know don’t pay attention to comments saying it’s outdated. I found this book very helpful.
Images in this review
Customer image Customer image
Customer imageCustomer image
Lorenzo
1.0 out of 5 stars Nascosto il fatto che l'edizione è illegale fuori dall'India
Reviewed in Italy on October 10, 2018
La qualità dei contenuti del libro è sicuramente molto alta. Sono semplicemente deluso dal fatto che l'oggetto sia stato spedito cercando di coprire il fatto che questa edizione non possa essere venduta al dì fuori del subcontinente indiano. In copertina c'era del nastro per coprire la scritta nell'angolo mentre sul retro è stato utilizzato un pennarello scuro con cui si è sporcata la copertina. Oltre questo la stampa non è di qualità molto alta.
Customer image
Lorenzo
1.0 out of 5 stars Nascosto il fatto che l'edizione è illegale fuori dall'India
Reviewed in Italy on October 10, 2018
La qualità dei contenuti del libro è sicuramente molto alta. Sono semplicemente deluso dal fatto che l'oggetto sia stato spedito cercando di coprire il fatto che questa edizione non possa essere venduta al dì fuori del subcontinente indiano. In copertina c'era del nastro per coprire la scritta nell'angolo mentre sul retro è stato utilizzato un pennarello scuro con cui si è sporcata la copertina. Oltre questo la stampa non è di qualità molto alta.
Images in this review
Customer image Customer image
Customer imageCustomer image
3 people found this helpful
Report
PK
3.0 out of 5 stars Read it for it's nostalgic value
Reviewed in Singapore on April 12, 2022
If you are an intermediate or advanced programmer, read it for it's nostalgic value. To me it feels like a mathematical/ programming novel.

If you are a beginner looking for algorithms, skip it. You are better off watching some YouTube videos followed by reading Eva Tardos book on Algorithms.

I do not like books which refer to future chapters and this book does it a lot of times. If the reader is in chapter 2, I find it odd if the author refers to chapter 4. Do remember that this was not actually meant to be a book but is a collection of articles put together into what looks like a physical book. So, sometimes it feels like the natural flow is missing (many other books which are intended to be a book also fail in moving from one topic to another smoothly - that is a different story). Still worth the read so that you can have a 10 min conversation over a cup of tea with your girlfriend's grandmother, assuming she retired as a programmer.

I bought a new book and I do not think I would read it a second time - it is definitely not the go to book for algorithms. Buy a cheaper used copy than a new one if you want it in your collection. New book is not worth the price.

I still will like it in my personal library and am not donating it to anyone.
Jerome Williams
5.0 out of 5 stars Will surely make you a better programmer, regardless of experience
Reviewed in Canada on August 25, 2016
Wow, there are so many simple tricks and detailed explanations. Will surely make you a better programmer, regardless of experience.
Alessandro Martin
5.0 out of 5 stars Un fantastico libro
Reviewed in Spain on July 19, 2015
Este libro suele aparecer en listas del tipo "10 mejores libros de programacion" y por muy buenas razones: es realmente una caja de sabiduria y un clasico. Lastima que no se consiga en version digital.