| I am looking for a set of programming challenges that'll help sharpen my algorithmic skills. I've worked a bit with CodeChef and SPOJ. Both have problems that test problem solving abilities of varied nature. However, I am unable to decide which one to follow through with. So I decided to ask the community. What resources would you suggest for improving my thinking/algorithmic skills? Something, that'll have problems spanning all the fundamental concepts. I am a student of Computer Science Engineering, and I'm not new to programming or algorithms; though I'm a far cry from being an expert. I had tried my hand at Project Euler too, but you can get through those problems with sub-optimal solutions. For eg. the first problem's solution can be arrived by at by using an O(1) algorithm, but the system would accept a solution generated using an O(n) algorithm too. That wouldn't motivate deep thinking.
(http://projecteuler.net/problem=1) |