Уведомления

Группа в Telegram: @pythonsu

#1 Ноя. 24, 2021 16:43:32

polin11
Зарегистрирован: 2013-05-02
Сообщения: 58
Репутация: +  0  -
Профиль   Отправить e-mail  

прямой обход n-арного дерева

Есть словарь, ключ - ид. узла, значение словаря - массив ид. детей у данного узла

 {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}]

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

Отредактировано polin11 (Ноя. 24, 2021 16:43:57)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version