algorithms overview 9864812