Общая древовидная реализация? [закрытый]

46
задан martineau 8 May 2017 в 21:55
поделиться

1 ответ

Дерево в Python довольно просто. Создайте класс, который имеет данные и список дочерних элементов. Каждый дочерний класс является экземпляром того же класса. Это общее n-нарное дерево.

class Node(object):
    def __init__(self, data):
        self.data = data
        self.children = []

    def add_child(self, obj):
        self.children.append(obj)

Затем взаимодействуйте:

>>> n = Node(5)
>>> p = Node(6)
>>> q = Node(7)
>>> n.add_child(p)
>>> n.add_child(q)
>>> n.children
[<__main__.Node object at 0x02877FF0>, <__main__.Node object at 0x02877F90>]
>>> for c in n.children:
...   print c.data
... 
6
7
>>> 

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

149
ответ дан 26 November 2019 в 19:59
поделиться
Другие вопросы по тегам:

Похожие вопросы: