Создание структуры данных графа в Python с использованием классов - PullRequest
0 голосов
/ 22 сентября 2018

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

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

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

    def add_children(self, list_of_children):
        for child in list_of_children:
            self.add_child(child)

def letterGraph():
    a = Node('A')
    b = Node('B')
    c = Node('C')
    d = Node('D')
    c = Node('C')
    e = Node('E')
    f = Node('F')
    g = Node('G')

    a.add_children([b, c])
    b.add_children([a, d, e])
    c.add_children([a, d])
    d.add_children([b, c, e, g, f])
    e.add_children([b, d, g])
    f.add_children([d, g])
    g.add_children([e, d, f])

    return a

Кажется, что он отлично работает с деревьями, но в отношении графиков, когдаон добавляет дочерний элемент к текущему узлу, а также добавляет тот же дочерний элемент к дочерним узлам текущего узла.

пример:

current_node: a

a.add_children ([b, c])

current_node.children: [b, c]

b.children: [b, c] `

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...