注册 登录
编程论坛 数据结构与算法

有一个类树的算法,求个解

quanshui 发布于 2012-08-08 22:45, 490 次点击

有数0~62 如下组成,0 为父根 1 2分别是左右孩子,这个把63个分为三组,



   0        3         6           9          12          15        18   
1    2    4    5    7    8    10    11    13    14    16    17    19    20

   21          24          27          30          33          36          39   
22    23    25    26    28    29    31    32    34    35    37    38    40    41

   42          45          48          51          54          57          60   
43    44    46    47    49    50    52    53    55    56    58    59    61    62




之后 分别,为这一这些数字排序,
先从父节点 开始,从上到下,从左到右排,即 0=>1   21=>2  42=>3   3=>4 24=>5 45=>5 ....
排完父节点,从左孩子先排,同样从上到下,从左到右,即1=>22  22=>23 43=>24 4=>25 25=>26 46=>27...
排完左孩子,排右孩子开继续排号,同样从上到下,从左到右
求大教一起想想这个算法,要怎么做出来,
3 回复
#2
pangding2012-08-11 11:47
和堆排序像吗?

没看出来你这个树长什么样子呀。还是说一开始你这有好几个树,要合并?
你举个小一点的树,把节点之间的关系说清楚。比如:
(a (b (d e))
   (c (f g)))
合理的缩进一下就可以表达的很清楚。
#3
hao021719902012-08-11 16:00
有点混乱啊!能不能清楚点啊!
#4
hao021719902012-08-12 14:59
你就按二楼的说法可以明确的表示一个二叉树!
1