I do the alg over and over again until I memorized it.
A good tip I could give you is: ask a friend to read the alg for you as you track the pieces and understand what the alg do to the cube. I taught my dad some algs this way.
Another tip is to break the alg into chunks of triggers. Write the alg down and put parenthesis around the triggers. This way you can learn an alg faster.
I also have another tip: if you cannot learn a particular alg, simply choose another one and until you memorise that case.
I don't like learning algs but I like when I learned a new one, if you know what I mean. Right now I'm learning COLL (except sune and antisune)