I always have trouble memorizing theorems.  Does anybody have any good tips?
As far as possible, you should turn yourself into the kind of person who does not have to remember the theorem in question. To get to that stage, the best way I know is simply to attempt to prove the theorem yourself. If you've tried sufficiently hard at that and got stuck, then have a quick look at the proof -- just enough to find out what the point is that you are missing. That should give you an Aha! feeling that will make the step far easier to remember in the future than if you had just passively read it.