Модераторы: Daevaorn
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> прямой обход дерева 
:(
    Опции темы
polin11
Дата 24.11.2021, 17:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 122
Регистрация: 6.6.2015

Репутация: нет
Всего: нет



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

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


Стал заморачиваться, писать классы для реализации дерева и его обхода, но запутался.
Может кто знает более простой алгоритм для реализации, либо библиотеку питона, которую можно использовать
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
2 Пользователей читают эту тему (2 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Python: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1113 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.