Dictionary of Algorithms and Data Structures is an excellent place to learn and refresh your memory. It is a huge resource that covers a whole bunch of algorithms and data structures, compiled by National Institute of Standards and Technology.
Searching and sorting, trees and graphs, arrays and hashes, big O notation, travelling salesman, recursion, and much more…