Испытания

Отслеживание зависимостей

JS: Деревья

Управление зависимостями - это очень важная задача при разработке программного обеспечения. Обычно в приложениях задействовано множество сторонних компонентов, которые, в свою очередь, тоже могут полагаться на сторонние компоненты. Одной из задач менеджера зависимостей является подключение зависимостей в правильном порядке. Библиотеки, от которых зависят другие, должны подключаться раньше. Определение этой последовательности сводится к задаче сортировки графа.

sortDeps.js

Реализуйте и экспортируйте по умолчанию функцию sortDeps, которая принимает на вход список зависимостей и возвращает список (массив) отсортированных узлов.

Пример:

1
2
3
4
5
6
7
8
9
10
const deps1 = {
  mongo: [],
  tzinfo: ['thread_safe'],
  uglifier: ['execjs'],
  execjs: ['thread_safe', 'json'],
  redis: [],
};

console.log(sortDeps(deps1));
// => ['mongo', 'thread_safe', 'tzinfo', 'json', 'execjs', 'uglifier', 'redis'];

Независимые библиотеки и цепочки библиотек должны быть в порядке, соответствующему порядку элементов в графе зависимостей.

Подсказки

Успешных завершений: 67%

Последние код-ревью

Автор Дата обновления Версий
mastercooler 09 дек., 09:27 5
danylokarpenko 04 дек., 11:44 2
vitslepukhin 02 дек., 05:58 1
altynbek132 09 дек., 09:36 1
chertkov 28 нояб., 02:08 1