My view is that there's so much knowledge in the world that it would take several thousand lifetimes to learn it all, so why not just Google for the bits you need? Given, Google shouldn't be an excuse for not learning new things in your chosen field - you'll probably run across the same problems again in the future and it saves time if you have the answers in your head - but some things just take so long to understand that it's best to leave the algorithm design to people who make it their life's work to specialize in that area.
in reply to T.I.T.S. Or, Try It To See.
Or to repeat a much-used phrase, why reinvent the wheel?