树T
将被称为结构化,如果对于每个d
,距离根d
的所有节点都包含相同类型的数据。< / p>
我们的目标是构建一个新的T'
树,它是&#34;交叉口&#34; T
的一些子树。
也就是说,T'
与T
具有相同的结构(相同数据类型),v
中的每个节点T'
是T
中相应节点的协议/交集的结果。
示例将展示最佳效果:
在下面的树T
中,每个叶子代表2个元素的彩色排列。
我们的目标是找到3个元素的所有可能的彩色排列:这些排列都是T
中的限制所允许的排列,并且具有相同的颜色。例如,231
是允许的排列,但不具有相互颜色。
那么,我应该如何构建T'
?我应该使用什么数据结构?
我的直觉说BFS风格的算法可以很好地完成工作,但我怀疑可以应用更好的逻辑。
例如,我有一个想法,我不知道如何继续:也许我可以将T
存储在一些奇特的数据库中,一起计算所有允许的排列,然后调用相应的彩色叶子?