How to get better at writing algorithms?
Is it just a matter of practice (just writing more and more complex algorithms until you get better at it) or is it better to explore already written algorithms, either through source code or through books and also are there any good books about understanding algorithms in programming?