[Math] Prerequisite mathematics for studying data structures and algorithms

algorithmsself-learning

Forgive me if this seems trivial to you. But, I do need your advice.

I am self-studying computer programming, now want to study Algorithms and Data Structures. All respected texts in A&DS talk in mathematical terms. I have not studied mathematics at higher levels. So I find it difficult to follow.

Please suggest me books / resources wherein I can self-study the prerequisite mathematical knowledge.

Regards,
Pranav

Best Answer

Not terribly much believe it or not. Algorithms and data structures is a very broad field. Obviously if you want to delve into some kinds of algorithms in particular, you need to know much more math. Generally though, for a good basic grasp of algorithms, you mostly need good problem solving abilities and a broad exposure (not necessarily too deep) to various kinds of mathematics. Number theory definitely is helpful as is some basic graph theory. If you really want to be able to analyze algorithms, you'll also need a fairly solid grasp of Big O notation.

This book is great for getting exposed to many various branches of math through problem solving:

http://www.amazon.com/Problem-Solving-Through-Recreational-Mathematics/dp/0486409171/ref=sr_1_1?ie=UTF8&qid=1348032214&sr=8-1&keywords=problem+solving+through+recreational+mathematics

Most algorithm books should at least gloss over Big O notation.

If you're interested in going deeper, you can use Knuth's Concrete Mathematics.