VisuAlgo
visualgo.net
Animated, step-by-step visualisations of data structures and algorithms, from sorting and linked lists to graphs and dynamic programming, with the ability to run each on your own input.
Why it is useful
Seeing an algorithm move one step at a time makes it far easier to understand than pseudocode alone. You can enter your own data, step forwards and backwards, and test yourself with built-in quizzes. It was created at the National University of Singapore and is free to use.