让我们想象一下二进制n数组作为输入。该n阵列的所有可能组合将是2 ^ n。正确?
现在,我想按特定顺序放置这些组合。特别是,我想要" 0,0,... 0"成为第一个," 1,1,...... 1"最后一个。我还希望另一条规则得到尊重,但更容易看到它而不是解释它:http://postimg.org/image/qqvmq9w6n/(数字是特定行元素的权重)。
在图片中,数组是列,好吗?所以有n = 1,n = 2,n = 3等的例子
现在,让我们来做树。针对树绘制的组合的位置将类似于:http://postimg.org/image/6hplc6oxh/。对我来说,它似乎很随机。我的意思是:我收到一个n阵列,我可以把它放在树上,但那我怎么知道分配它的号码呢?我不想逐个计算所有可能的组合。我认为有一个公式,我可以看到树上运行了一些规则(image / 5a11usm0j /),但是随着n的增加,它变得越来越复杂。
关于如何解决这个排序问题的任何想法(无论是使用树排序还是组合分析,还是其他什么)?