Не слушай идиотов, пишущих что гуглить - самый важный навык программиста. Такие люди плохо себе представляют, что такое поисковик Google и как он работает. Не пойму как такие люди могут называть себя программистами, они хуже кодеров.
Настоящий программист должен стараться решать задачи сам. Программист должен создавать что-то новое, а не искать готовые велосипеды других программистов.
По сабжу - советую какую-нибудь найти книжку по алгоритмам и структурам данных. Если не ошибаюсь, Лафоре писал книжку такого типа, где примеры кода написаны на Java.