Ну, я могу навскидку привести вот такую задачу: есть схема проекта в виде дерева зависимостей, вот в таком виде:
Где, грубо говоря, file -- это исходник, а module -- директория. Нужно написать функцию, которая применит функцию компиляции к каждому исходному файлу, причём в правильном порядке, с учётом что от чего зависит.
Для данного примера порядок может быть таким: f1, f2, f4, f5, f3, f6, f0, f7.
В идеале ещё бы обнаружить циклические зависимости.
Как это сделать двойной рекурсией -- очевидно, а вот комбинаторного решения я придумать не могу.
no subject
Где, грубо говоря, file -- это исходник, а module -- директория. Нужно написать функцию, которая применит функцию компиляции к каждому исходному файлу, причём в правильном порядке, с учётом что от чего зависит.
Для данного примера порядок может быть таким: f1, f2, f4, f5, f3, f6, f0, f7.
В идеале ещё бы обнаружить циклические зависимости.
Как это сделать двойной рекурсией -- очевидно, а вот комбинаторного решения я придумать не могу.