Назначение уровня узла

У меня есть дерево игры (экономика), структурированное во фрейме данных следующим образом:

Узел - родительский узел

б - а

с - а

г - б

д - б

е - б

г - с

ч - д

т.е. самый верхний узел в дереве - это a, который ведет к b и c. b в tun ведет к d, e, f и c ведет к g. и, наконец, узел d ведет к h. Я хочу создать дополнительный столбец, который сообщает мне уровень, на котором находится узел, то есть мне нужен вывод, который будет примерно таким:

Узел - Родительский узел - Уровень

б - а - 1

в - а - 1

г - б - 2

д - б - 2

ж - б - 2

г - с - 2

ч - д - 3

Как мне это сделать?

Более того, если данные не организованы и случайны, то есть строки не упорядочены так, как я показал (но всегда есть информация о том, что родительский узел относится к конкретному узлу), это их способ решения той же проблемы. а присвоение уровня узла?

Я знаю, что это может быть очень просто, но я новичок в Python и не знал, как конкретно это искать.

Заранее спасибо!

0
0
30
1

Ответы 1

Если вы всегда начинаете с корня и упорядочиваете, вы просто путешествуете по дереву и добавляете уровень при посещении нового дочернего узла. Если это не заказано, я думаю, вы могли бы путешествовать назад и считать шаги, пока не дойдете до корня.

Возможно, вам понадобится рекурсивная функция для обхода дерева.

Спасибо, Loxx, я как раз ищу эту рекурсивную функцию. Есть идеи, как это определить?

Palaash Bhargava 26.10.2018 11:39

Другие вопросы по теме