Самые сложные это, конечно, громко сказано. Языки, как уже говорили С++, С, Pascal.
Чтобы разобраться с указателями, посмотрите (а лучше напишите сами) как работают списки: односвязный и двусвязный.
Для рекурсии стандартная задача - числа фиббоначи. Чуть более сложная - обход графа в глубину.
Вам задано n - количество городов и k - количество дорог. Далее записаны k пар чисел - (a_i, b_i), которые означают что из города a_i есть дорога в город b_i. Найдите все города в которые можно добраться из города с номером 1. Например для 6 городов и 4 дорог входные данные:
6 4
1 3
3 5
6 4
2 6
ответ:
1 3 5