Written in an exceptionally clear style that doesn't skimp on technical detail, Steve Heller's guide offers several high-performance search and data-compression algorithms, which are all you need to add speed to C++. Early sections of the book address the advantages of optimizing C++, which the author considers something of a lost art. Instead of just investing in faster hardware, the author makes the case that optimizing code can result in faster, more useful programs.
The heart of Optimizing C++ consists of several case studies of database problems that show various searching and compression algorithms, the author's source code, and careful explanation of the solutions. The author users hash coding, caching, Radix40, and binary-coded decimal (BCD) data representation in a supermarket price-lookup database. Distribution-counting sort algorithms and bitmaps that store data efficiently are both used to help build a mailing-list system. In some of the most useful sections of this book, the author looks at Huffman coding and dynamic hashing.
In every case, the author takes care to explain the details of each algorithm and its advantages and disadvantages for your own code. The book closes with a handy listing of all the algorithms presented and a thorough glossary for the terms used in the text. In all, Optimizing C++
presents some excellent C++ expertise, explained with enough clarity for even beginning or intermediate programmers. --Richard Dragan