【发布时间】:2015-11-14 23:25:26
【问题描述】:
我有一个(重新组合的)二叉树t = ((4,), (3, 5), (2, 4, 6), (1, 3, 5, 7)),其中晶格层级索引为(0,1,2,3)。即 4 的索引为 0,而 3、5 的索引为 1,依此类推。我需要一组边缘端点的坐标(连接树节点)。自然地,4 与 3 和 5 相连; 3 连接到 2 和 4; 5 连接到 4 和 6。
对我可能采取的方法有什么想法吗?
输出是元素(以任何顺序)(这些是成对的对)
[(0,4),(1,3)], [(0,4),(1,5)],
[(1,3),(2,2)], [(1,3),(2,4)], [(1,5),(2,4)], [(1,5),(2,6)],
[(2,2),(3,1)], [(2,2),(3,3)], [(2,4),(3,3)], [(2,4),(3,5)], [(2,6),(3,5)], [(2,6),(3,7)]
树可以生长。任何可迭代的基本数据(列表、集合、元组、字典等)都可以。
我认为将树转换为矩阵的下对角线会使事情变得更容易,但现在认为可能有直接的方法。
如果需要澄清,请告诉我。
【问题讨论】:
标签: python algorithm python-3.x data-structures tree