Mike's Recommended Books on Algorithms

These are some of the books I've found interesting or useful.

  • Data Mining: Concepts and Techniques
    Jiawei Han and Micheline Kamber, Morgan Kaufmann, 2001.

    Good algorithm descriptions. Covers the major areas in reasonable technical detail, with several alternative algorithms presented for classification, prediction, association rule induction and cluster analysis.

    Other Reviews

  • Algorithms in C++
    Robert Sedgewick, Addison-Wesley, 2001.

    If you're looking for something more readable than Knuth, then Sedgewick fits the bill. Cited is the 3rd edition based on C++, which I'm less familiar with than my much older edition which used Pascal for examples.

    The advantage of Sedgewick is his readability and wide range of topics. I've used an earlier edition of this work to find and implement many useful algorithms.

    Warning: later editions aim to be more comprehensive — I think readability suffers a little as a result. Personally I prefer the older editions.

    Other Reviews

  • The Art of Computer Programming: Volumes 1-3
    Donald E. Knuth, Addison-Wesley, 1998.

    If you are a computer science professional you probably already own these books.

    Need to know the computational complexity of Quicksort? The worst case performance? The conditions under which the worst case performance will occur? A method of choosing a random record from a sequential file of unknown size? How to multiply large numbers efficiently? How to sort with limited memory? How to sort with less comparisons than N logN?

    It is rare, indeed that you can't find the answer you need in Knuth.

    These are reference books, however. Don't expect to work through them and answer all the questions at the end of each chapter. (Some of the questions are literally PhD topics!) If you are serious about computer science, you should have a working knowledge of what is in these books so that you can refer to them when necessary. And, of course, you should have them in easy reach so that you have the answers when you need them!

    Other Reviews

  • Data Mining for Association Rules and Sequential Patterns
    Jean-Marc Adamo, Springer, 2001.

    Strictly a specialist book. The title says it all.

    Other Reviews

  • Programming Pearls
    Jon Bentley, Addison-Wesley, 1999.

    I can still remember vividly reading the first edition of this book, as well as the column on which it was based. Bentley tackles pratical programming problems he has encountered, moving clearly from problem to solution (and explainingsome of the pitfalls) in the way only a seasoned professional can.

    Key parts of problem solving is solving the right problem and choosing the right solution. You can't help but improve both skills reading this book.

    Other Reviews

  • The (New) Turing Omnibus: 66 Excursions in Computer Science
    A. K. Dewdney, W H Freeman & Co, 2001.

    There are lots of algorithms out there to do lots of things... But what are the most interesting and important algorithms in Computer Science?

    I think Dewdney's book answers this question, and does it in an entertaining and thoughtful way. This is not a book from which to implement algorithms (there isn't always sufficient detail for that), but it is a readable book with which to acquaint yourself with some of the most important problems and solutions in computer science.

    Note: if you didn't major in computer science, this book contains the key algorithms you should know and probably missed.

    Other Reviews

  • Computational Geometry and Computer Graphics in C++
    Michael J. Laszlo, Prentice Hall, 1996.

    An area which Knuth doesn't really cover is computational geometry.

    This introductory book explores some of the basic algorithms in computational geometry, dealing with convex hulls, point enclosure, polygon clipping, hidden surface removal, line intersection, closest points, range searching with grids, quadtrees, etc.

    The topics are covered clearly, and well explained. (The introductory chapters of this book also contain one of the best descriptions of complexity measures and "Big-O" notation I have come across.)

    Note. One of the reviewers on Amazon.com comments that this book omits some recent and faster algorithms for performing some key tasks. This may or may not be important for you.

    Other Reviews

  • The 85 Ways to Tie a Tie: The Science and Aesthetics of Tie Knots
    Thomas Fink and Yong Mao, Fourth Estate, 2001.

    What's a book about tying a tie doing in a list of recommended books on algorithms?

    The answer is that this book clearly demonstrates how to analyze and solve a complex problem. Fink and Mao develop a mathematical notation for different tie knots, identify key criteria related to aesthetics and tie length, then use those criteria to generate all possible tie knots, identifying the 13 with the greatest aesthetic qualities.

    The book also contains an entertaining history of ties: you'll certainly want to try some different tie knots after reading the book.

    Other Reviews

  • A Programmer's Geometry
    Adrian Bowyer and John Woodwark, Butterworth-Heinemann, 1983.

    If you just want to find intersections of lines, intersections of lines with planes, and so forth then something like Laszlo is overkill.

    This older title gives you what you need, including consideration of all the degenerate conditions which have to be taken into account, and which are often omitted from more cursory treatments of the topic.

    This book is out of print and can be a little hard to find. The library of a company I worked for used to have a copy, and it proved an invaluable reference.

    Other Reviews

  • Data Model Patterns: Conventions of Thought
    David C. Hay, Dorset House Publishing, 1996.

    This is a useful introductory text on systems analysis. Most books in this category are too academic: systems analysis is a pratical art. Rather than give lots of theoretical example, this book gives typical solutions for common corporate functions, along with explanations of why the design is the way it is and not what you might have thought it should be.

    Worth a read if you're new to the art, as it will definitely save you from making some easy mistakes.

    Other Reviews

Note

If any of the book links take you to the wrong country (or continent) try using Albion BookLink to choose your preferred destination.

Michael Z. Bell

[Other Recommended Books]


© Albion Research Ltd. 2010