It depends on your level..
I mean that if you are beginner then try (if you hadn't
There are many problems and algorithms, that will propably help you. I you are not beginner then.. If you need any algorithm you just have to ask for it on news groups and boards and wait for an answer
I hope it will help..