请大家帮助看一下下面的规律是何种算法可解决的指定一个数,显示其下的n层数据分布
假设这个数为1,则
0层                    1
               ----------------
              |               |
1层           2               3
           -------        -----------
           |     |        |         |
2层        4     6        5         7
     ------  -----   -------   -------
     |    |  |   |   |     |   |     |
3层  8    12 10  14  9    13   11    15     ....
每个节点下都有两个子节点,规律为 以5为例 其左子节点9=5(父节点)+4(2^父节点(即5)所在层数);右子节点13=5(父节点)+8(2^(父节点[即5]所在层数+1))
所以9=5+2^2;13=5+2^3
请教这种算法。我想用几个类及链表的形式将其求出,即指定一个值后(树得根节点),列出其下n层的分支情况