Introduction

I minored in computer science as an undergraduate, and got a pretty good education in it. But after four years, it was time for a review. I wrote this mainly for my own benefit, but it may be useful to anyone who learned about data structures and algorithms years ago and wants to refresh their memory about the finer points.

For example, these notes don't review basic Java syntax or simple examples of recursion, because I'm not at risk of forgetting those.

I do review, for example:

because those are easy to forget even if you vaguely remember them.