"Algorithms, 4th Edition by Robert Sedgewick and Kevin Wayne" is one of the great books for anyone who wants to learn algorithms and data structures.
We can also browse a website which covers most parts of the textbook, some parts are under construction though. In addition, the website offers some presentation slides and source codes written in Java.
- Online Textbook
- http://algs4.cs.princeton.edu/home/
It might be difficult to figure out complex things only by reading text. We have a chance to take some online courses on Coursera. I’ve taken and completed the following 2 courses.
The video lectures performed by Prof. Robert Sedgewick are really great. Some effective animations makes it easier to understand how each algorithm works, and some interesting stories about algorithms made me smile.
If you are an intermediate student who is not familiar with basic algorithms and data structures but the Java programming language, I strongly recommend that you take these courses on Coursera.
Make sure that no certificates, statements of accomplishment or any credentials will be awarded in connection with these courses. I was a bit disappointed to know that after I had completed all quizzes and programming assignments.