我有一个比较愚蠢的问题,发誓不是作业。但我实在想不起来是否曾经学过一种算法来做到这一点,我的思维和创造力正在衰退。
我有一个独特节点列表。我需要生成包含这些节点的二叉树的所有唯一排列。如果你想知道,手性很重要;在轴上翻转的二叉树(左/右)并不相同。
一些背景信息,如果你在想:这是为进化程序的种子创建算法,所以大量微小的种子没问题。
编辑:唯一性的澄清
我有一个独特节点列表。我需要生成包含这些节点的二叉树的所有唯一排列。如果你想知道,手性很重要;在轴上翻转的二叉树(左/右)并不相同。
一些背景信息,如果你在想:这是为进化程序的种子创建算法,所以大量微小的种子没问题。
编辑:唯一性的澄清
Examples:
This:
1
/ \
2 3
Is not the same as this:
1
/ \
3 2
Nor is it the same as this:
1
/
3
/
2
Nor this:
1
\
2
\
3