Как отсортировать на основе зависимостей?

Попытайтесь включить в свой URL соответствующую схему, например

[NSURL URLWithString:@"http://www...

8
задан Soviut 4 June 2009 в 18:31
поделиться

2 ответа

Это называется топологической сортировкой.

def sort_deps(objs):
    queue = [objs with no dependencies]
    while queue:
        obj = queue.pop()
        yield obj
        for obj in objs:
            if dependencies are now satisfied:
                queue.append(obj)
    if not all dependencies are satisfied:
        error
    return result
18
ответ дан 5 December 2019 в 07:13
поделиться

На прошлой неделе у меня был аналогичный вопрос - я бы тогда знал о Stack Overflow! Я немного поискал, пока не понял, что у меня есть DAG (направленный ациклический график, поскольку мои зависимости не могут быть рекурсивными или циклическими). Затем я нашел несколько ссылок на алгоритмы их сортировки. Я использовал обход в глубину, чтобы добраться до листовых узлов и сначала добавить их в отсортированный список.

Вот страница, которую я нашел полезной:

Направленные ациклические графы

5
ответ дан 5 December 2019 в 07:13
поделиться
Другие вопросы по тегам:

Похожие вопросы: