Я ищу эффективный алгоритм для следующей задачи:
Input
1) Коллекция пакетов, где каждый пакет имеет уникальный Id и список зависимостей (каждая зависимость также идентифицируется по Id).
2) Правила установки, где должно соблюдаться каждое правило.
Правила по умолчанию включают следующее:
- Пакет может быть установлен, если все его зависимости присутствуют во входной коллекции
- Упаковка не может зависеть от себя, прямо или косвенно
- Круговые зависимости не допускаются ни прямо, ни косвенно
выход
Правильный порядок установки пакета
Я думаю, это BFS + что-то. Мне нужна помощь с «чем-то». Спасибо!