"Условия и циклы" -- это, всё же, не алгоритмы, а теория ЯП.
А, вот, по остальному, не долго думая, порекомендую суперклассику "Алгоритмы и структуры данных" Никлауса Вирта. Для развлечения, между делом, можно подкинуть "Алгоритмические трюки для программистов" Уоррена.
Ну а если попрёт, то уже переходить к тяжелой артиллерии, вроде Кормена и/или Седжвика. :)