Недвоичная древовидная структура данных в Python - PullRequest
0 голосов
/ 07 марта 2020

example

Кто-нибудь имеет представление о том, как я мог бы воссоздать это:

Конечной целью является прохождение дерева и подсчет каждая конечная точка. В этом случае 3, потому что 1, 3, 2 - все конечные точки.

1 Ответ

0 голосов
/ 07 марта 2020

Если вы не хотите использовать простые списки, вы можете создать базовый c класс. Что-то вроде:

class NonBinTree:

    def __init__(self, val):
        self.val = val
        self.nodes = []

    def add_node(self, val):
        self.nodes.append(NonBinTree(val))

    def __repr__(self):
        return f"NonBinTree({self.val}): {self.nodes}"


a = NonBinTree(0)
a.add_node(1)
a.add_node(3)
a.add_node(4)
a.nodes[2].add_node(2)

print(a)

И затем добавьте любые другие методы, которые вы хотите.

...