Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Is Algorithm Design Manual a good book for a beginner in algorithms? [closed]

Tags:

algorithm

I've a good idea of what Big-O is, and I also know a few basic sorting algorithms, although, for some reason, I was never comfortable with them, and I keep forgetting them. I've been programming for 4 years in Java, Python, C and C++; I've been a decent programmer. Now, I want to move beyond learning programming languages and start learning algorithms.

I tried 'Introduction to Algorithms' by Cormen et al. but the Math is too dense for me (or, may be, I'm too dense for the Math in that book).

Now, I'm planning to take up Algorithm Design Manual by Steve Skiena. Would you recommend it for my situation? Do you have any other recommendations if you think this is not the one for me?

like image 745
Srikanth Avatar asked Aug 14 '09 09:08

Srikanth


People also ask

How long does it take to read algorithm design manual?

The average reader, reading at a speed of 300 WPM, would take 8 hours and 4 minutes to read The Algorithm Design Manual by Steven S. Skiena. As an Amazon Associate, How Long to Read earns from qualifying purchases.

What is the best book for data structures and algorithms for beginners?

The book: Data structures and Algorithms Made Easy, by Narsimha Karumanchi is a very famous book on Data structures and Algorithms. This book is a very beginner-friendly book.

How is algorithm design manual?

The reader-friendly The Algorithm Design Manual provides straightforward access to combinatorial algorithms technology, stressing design over analysis. The first part, Techniques, provides accessible instruction on methods for designing and analyzing computer algorithms.

Which programming language is used in The Algorithm Design Manual?

It is available in C language as well as in Java. Basically Algorithm is technique to solve problems so language doesn't matter at all. How should I read "The Algorithm Design Manual" by Steven S.


2 Answers

I would certainly recommend the Skiena book. You've started to learn about algorithms, you should start to learn algorithms too.

To whoever edited this answer and replaced the last occurrence of the word algorithms with the word mathematics: I meant algorithms when I wrote this answer, I still mean algorithms, replacing the word with mathematics materially changes the answer. If you think that mathematics is what OP should learn, post your own answer to that effect. If you had troubled to read the commentary below you would understand why I chose the word algorithms and not mathematics.

like image 104
High Performance Mark Avatar answered Sep 22 '22 21:09

High Performance Mark


I would recommend against "Algorithm Design Manual" for your purposes and for skimming Cormen or Wikipedia instead.

After a short introduction to basic algorithmic topics, pages 171-437 don't really teach you neither about how algorithms work nor how to design them, but more about what algorithms exist and where to find their implementations (sometimes it refers you to implementations you will need to buy, like in the section on Linear Programming)

For example there are 3 pages on matrix multiplication, which give a few examples of what it is useful for, present the naive O(N3) algorithm, and mention there are better algorithms like Strassen's O(N2.81) (without describing the algorithm), and recommend that you to use the LAPACK library for it.

So if you want to learn how algorithms work, rather than what algorithms exist and where to find their implementations, I again, recommend against "Algorithm Design Manual".

like image 35
yairchu Avatar answered Sep 18 '22 21:09

yairchu