对我老来说递归的超难问题!!!!!(200分)

  • 主题发起人 主题发起人 xyf2001721
  • 开始时间 开始时间
X

xyf2001721

Unregistered / Unconfirmed
GUEST, unregistred user!
假如有10个零件,我第一次分成4个分总成,分别为,(1,2,3),(4,5,6),(7,8,9),(10),然后令(1,2,3)为1,依次类推,这样总数变成了4个,然后,再安相同的规则生成了,(1,2,4),(3),然后我把,(1,2,4)为1,(3)为2,判断他们两个谁先安装,然后再返回一层层的恢复到总的10个零件的顺序。
 
为什么第一步分成了:,(1,2,3),(4,5,6),(7,8,9),(10)
而第二步确组合成:(1,2,4),(3)
----- 为什么不是(1,2,3), (4)
谁先安装如何判别。
 
这些都是无所谓的,有一定的规则,关键是如何把他们放到一个树里面,这是我的意思。或者别的数据结构中。
 
规则都说不出,新手中的新手。。。。
 
你的意思是最低级的子节点是10个,上一层4个..再上一层...?
 
偶虽然很臭,也不要人身攻击好不好,新手怎么了?!
规则不是我说不出,我只是觉得没有说的必要。我只是说如何把他们按层次放到树中。因为假如按照规则会按一条路经搜索到底。
最上面一层只有两个零件的时候递归跳出。我的意思是说跳出之后返回上层则有4个零件,按照规则生成两个零件后如何判断它的父节点。同样对于遍历完四个零件之后要返回10个零件的根结点上,在添加节点时我如何对节点进行变换。
 
1
/ /
1 2
/|/ |
1 2 3 4
.........
你是不是建立这样得一颗树啊, 按照你说的好像是 树 按 层 遍历,只要建立一个队列就好了,把每个孩子结点进队,出队时访问结点.
不过我没有看明白你的要求,要是答非所问请勿见怪!!
 
请讲得明白点
 
to aming46:
对,就是这个意思。
对于本问题本人已经解决,不过本人做的比较麻烦,是逐步调出来的。
希望各位大虾对树的遍历提供一些思路,我对这些不太熟,看书觉得有点困难,给点提示有利于更好的理解。本人感激不尽!!![:)]
 
其实 树的遍历 就是一个 已知一个节点,找他下一个节点的问题,然后以此循环,直到结束.谁是他的下一个节点是由遍历规则决定的.比如 我写的那棵树 按 层遍历 就是 1 1 2 1 2 3 4 ...... 一颗树 从哪一点开始遍历(虽然一般是从根节点开始),以及在节点中是否需要加入一些辅助信息域使得寻找下一点更简单,都是可以由你决定的. 所以,要是你觉得按照一种遍历规则比较难实现,可以从这点方面下手考虑.
我现在还在读书,典型的"学院派",呵呵,抛砖引玉 而已了.
 
后退
顶部