Data Structures and Algorithms book (free) first preview available!

This is a little project that myself and Luca have been working on in our spare (spare) time in the last monthDSA_Book or so. The book is no where near complete but we wanted to get it out there now and progress with it in view of the public eye rather than just sit on it and wait months until it was a lot more thorough.

As this is just a preview don’t expect it to be all finely polished, we know what we are lacking in terms of explanations. No chapter in the preview is the final version of that respective chapter. It’s also worth mentioning that this is not the final list of chapters.

Our intended target audience are those who know how to use their respective language of choice, other than that you should be OK to follow the book. We have intentionally tried to keep the book compact and to the point.

The book is language independent. We use a form of pseudocode for all algorithms as such these algorithms can be easily ported to most imperative languages like C++, C#, and Java.

Why is it free? Because we want it to be. At this present moment in time all suggestions etc have come from a small number of reviewers, for which we are incredibly grateful. But we felt the time was right to throw it out to the larger audience so we can get more feedback on what we have thus far.

The book is hosted for us on DotNetSlackers, you can view the page dedicated to the book here.

Go check out the first preview of Data Structures and Algorithms: Annotated Reference with Examples now!!!

EDIT: if you could help spread the word we would be incredibly grateful 😉

11 thoughts on “Data Structures and Algorithms book (free) first preview available!

  1. If you need a fibonacci heap implementation, let me know (via email). I’m working on my own algorithm lib (bsd licensed, out this fall), but I think we are in the same boat that we want others to use algorithms which are discovered by very smart people sometimes decades ago, so the more spread these algorithms are, the better. 🙂

  2. The content of the book looks really good. Are you planning to add graph? Also, I think it’s better to add a sample code (just one language C#) in the book as well. I know it’s going to be bulky.

  3. Your use of the fibonacci series in the recursive versus iterative section can do with some extension and connection to your “Big Oh” discussion – the naive recursive version is O(n*n) in execution time, but you can not only rewrite it as iterative (for O(n) time), you can rewrite it as recursive with O(n) time if the return value carries F(n) and F(n-1), and you can further write it as iterative using matrix multiplication for O(lgN) time, or using floating point in O(1) time (assuming that pow(x,n) is O(1)).

  4. @Alun – there are many ways we can write the fib series. We made the decision to use the version already implemented as its clearer than the versions that are a little faster. Also we don’t see it as a *critical* algorithm. Its purely there for coverage, nothing more.

Leave a Reply

Your email address will not be published. Required fields are marked *