Я тут на Habr выпустил статью для джавистов про алгоритмы и как их решать, но судя по реакциям - мало технических аспектов Что ж, тем не менее, покажу и расскажу, а с вас обратная связь
Статья -> Как Java-разработчику эффективно решать алгоритмические задачи