我有一个相当愚蠢的问题,我发誓不是家庭作业.对于我的生活,我不记得我是否研究过这样做的算法,而我的思维/创造力让我失望.
我有一个唯一节点列表.我需要生成包含这些节点的二叉树的所有唯一排列.如果你想知道,手性问题很重要; 在其轴(左/右)上翻转的二叉树是不一样的.
一些背景信息,如果你想知道:它是一个进化程序的种子创建算法,所以大量的小种子是好的.
编辑:澄清唯一性
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
Run Code Online (Sandbox Code Playgroud)