С рекурсией – вызовом функцией самой себя мы уже дело имели, считая факториал. Рассмотрим ещё один пример, который без рекурсии реализовать практически невозможно. Выведем на экран структуру папок на диске. Алгоритм простой – начиная от заданного пути, найдём все папки и повторим это действие для каждой из найденных папок. Для поиска папок и файлов будем использовать функцию scandir() из пакета os. Итак, для начала импортируем этот модуль в приложение: import os Для рекурсии нам потребуется определить функцию, которая будет вызывать сама себя...
В этой статье мы продолжим изучение рекурсивных алгоритмов и выясним в чём соль рекурсии. Ханойская башня Давным-давно, в храме города Бенарес, Великий Брама, в наказание трёх провинившихся священников, на ступенях алтаря воздвиг три высоких алмазных стержня и на одном из них сложил башню из шестидесяти четырех дисков, сделанных из чистого золота — каждый верхний диск на размер меньше нижнего. И повелел священникам переместить диски с одного стержня на другой выполняя следующие правила:
1) В одно время можно брать только один диск...