在给定节点及其位置的python中创建树

时间:2012-07-16 19:10:38

标签: python tree

我有一个XML文件,其中包含我随机生成的不同数据节点。我想要做的是遍历每个节点并从中创建一个树。我的自定义软件使用XML数据直观地绘制这些节点及其连接。

没有哪个节点连接哪个标准;给定500个节点,我希望能够生成具有相当复杂的广度和深度的树。

我在python中使用一个使用JgraphX绘制图表的自定义库对此进行编码,因此我没有必要显示确切的代码。但假设我有以下3个功能:

getXY_coord(a), get the XY coord of the node on the diagram
connectNodes(a,b), connects node a with b
getAllNodes(), returns list of all nodes on diagram

我如何制作这个复杂的树?它甚至不必在视觉上进行组织,只要连接本身很复杂,节点就可以连接到图表另一侧的另一个节点。

我唯一能够实现的是随机化节点列表并连接列表中相邻的节点。然而,这并没有得到我想要的东西。

1 个答案:

答案 0 :(得分:1)

我建议查看最小生成树算法,例如Prim's algorithm

networkx模块将为您执行此操作 - 请参阅the documentation