(бесплатный, онлайн) учебник Как разрабатывать программы имеет несколько разделов, которые могут быть вам полезны.
Вы говорите, что решение должно быть рекурсивным.Если вы имеете в виду, что все вызовы процедуры поиска должны быть в хвостовой позиции, то вам придется явно отслеживать посещенные узлы и пути к узлам.
Далее: я запуталсяпо вашему примеру;похоже, что входные данные ... это список длины два, содержащий целевой узел и некоторое представление графа?Но ... нет, я все еще в замешательстве.
Вам нужно объяснить, что означает ввод - например, как графики представляются как входные данные для вашей функции?