Есть словарь, ключ - ид. узла, значение словаря - массив ид. детей у данного узла
{313: [346, 349], 346: [350], 0: [313, 312], 312: [348]}
Получается такое n-арное дерево
level 1 0
level 2 313 312
level 3 346 349 348
level 4 350
Нужно сделать прямой обход такого дерева, получить массив словарей, где ключ словаря это ид. узла,
а значение словаря уровень иерархии.
Такой результат:
[{0:1}, {313:2}, {346:3}, {349:3}, {312:2}, {348:3}]
Стал заморачиваться, писать классы для реализации дерева и его обхода, но запутался.
Может кто знает более простой алгоритм для реализации, либо библиотеку питона, которую можно использовать