Как парсить деревья в Python? - PullRequest
0 голосов
/ 25 мая 2020

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

Root -> AB CD
AB -> ABC CBA
CD -> CDE FGH

Предполагается, что алгоритм считывает формат в скобках и дает следующий результат:

                    Root
                     |
                ____________
              AB           CD
              |             |  
       __________         ___________
      ABC      CBA        CDE      FGH

1 Ответ

0 голосов
/ 25 мая 2020

возможно, вы можете начать с модуля networkx

  1. установить networkx : pip install networkx

  2. установите matplotlib : pip install matplotlib

  3. программу

import networkx as nx
import matplotlib.pyplot as plt

if __name__ == "__main__":
    # define DiGraph
    tree = nx.DiGraph()

    # add node
    tree.add_node("root")
    tree.add_node("AB")
    tree.add_node("CD")
    tree.add_node("ABC")
    tree.add_node("CBA")
    tree.add_node("CDE")
    tree.add_node("FGH")

    # add connection edge
    tree.add_edge("root","AB")
    tree.add_edge("root","CD")
    tree.add_edge("AB","ABC")
    tree.add_edge("AB","CBA")
    tree.add_edge("CD","CDE")
    tree.add_edge("CD","FGH")

    # output the tree
    nx.draw(tree,with_labels = True)
    plt.show()

tree

...