Какой алгоритм используется в пакетных менеджерах?
Пилю свой менеджер пакетов на Python(аналог apt). Переконвертировал файлы "Packages" в базу SQLite.
Теперь не могу понять, как работать с зависимостями. Например: есть пакеты A,B,C,D,E...:
Нужно скачать пакет D со всеми зависимостями.
Пакет D зависит от B;
Пакет B зависит от A и C;
Пакет C зависит от B;
Можете объяснить простыми словами алгоритм, который используется в APT? Когда-то даже находил названия алгоритма, сейчас не могу найти.