У меня есть словарь Python, который представляет график. Я хочу определить корневые / независимые узлы, чтобы я мог обрабатывать их одновременно, и тогда следующие узлы станут корневыми / независимыми узлами.
Я запутался в том, как реализовать эту технику в python.
Ниже приведен пример словаря:
my_graph = {
1:[4],
2:[6],
3:[9],
4:[5,7],
5:[8],
6:[],
7:[],
8:[],
9:[]
}
Я разделю процесс на разные кадры. Ожидаемый результат в зависимости от вышеупомянутого словаря дается как:
1- начало:
коренные / независимые узлы = 1,2,3
2- после кадра 1
корневые / независимые узлы = 4,6,9
3- после кадра 2
корень / независимые узлы = 5,7
4- после кадра 3
корень / независимые узлы = 8
Редактировать 1:
Я пытаюсь получить последовательность в любой форме, например. список, массив или любая другая подобная структура данных с графом зависимостей узлов в данном словаре, где каждый дочерний узел зависит от своего родительского узла, поэтому не может быть обработан перед родительским узлом. В качестве следующего шага я хочу получить некоторый параллелизм, то есть я могу обработать все корневые узлы одновременно.
Я читал о Dask и luigui , но не уверен, являются ли они окончательным решением, или я могу сделать это каким-то простым способом.