An introduction to various algorithms and data structures used when normal data structures will take too long to accomplish a task.