[Math] For Maths Major, advice for perfect book to learn Algorithms and Date Structures

algorithmslearningreference-requestsoft-question

Purpose: Self-Learning, NOT for course or exam

Prerequisite: Done a course in basic data structures and algorithms, but too basic, not many things.

Major: Bachelor, Mathematics

My Opinion: Prefer more compact, mathematical, rigorous book on Algorithms and Data Structures. Since it's for long-term self-learning, not for exam or course, then related factors should not be considered (e.g. learning curve, time-usage), only based on the book to perfectly train algorithms and data structures.

After searching at Amazon, following three are somehow highly reputed.

(1)Knuth, The Art of Computer Programming, Volume 1-4A

This book-set contains most important things in Algorithms, and very mathematically rigorous. I prefer to use this to learn algorithms all in one step.

(2)Cormen, Introduction to Algorithms

It's more like in-between (1) and (3).

(3)Skiena, The Algorithm Design Manual

More introductory and practical compared with (1), is it ok for this to be warm-up then read (1), and skip (2) ?

Desirable answer: Advice or more recommended books

Best Answer

Knuth is an interesting case, it's certainly fairly rigorous, but I would never recommend it as a text to learn from. It's one of those ones that is great once you already know the answer, but fairly terrible if you want to learn something. On top of this, the content is now rather archaically presented and the pseudocode is not the most transparent.

Of course this is my experience of it (background CS & maths), but I have encountered this rough assessment a few times.