Mocking up the problem on paper or white board is crucial.
The functionality of a hash table can be extrapolated and used to solve many problems at the cost of efficiency.
Arrays can be used to back most higher level data structures. Sometimes a “data structure” is no more than some clever math for accessing locations in an array.
Elementary Algorithms - Introduces elementary algorithms and data structures. Includes side-by-side comparisons of purely functional realization and their imperative counterpart.