Начните с алгоритмов без привязки к языку. Важно же не то на каком языке написано, а то какая логика (читай смысл) в этом заложена.
Любой простейший алгоритм можно свести к трем действиям: «сделать», «условие», «цикл».
«Сделать» – выполнить что-то.
«Условие» – либо так, либо так (, либо еще так).
«Цикл» – сделать, сделать, сделать...
Как неоднократно было сказано, пробуйте представить задачи, так как если бы их выполняла машина: в виде отдельных шагов. А уже гуглить нужно реализации непосредственно этих шагов. И помните, для любого алгоритма (кода) есть решение лучше :)