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