关于零件装配的算法请高手指教!

bxfyb 2010-03-12 09:16:22
一个工厂装配合成零件
其中这个合成零件由许多零件和许多小合成零件组成,而且这些小合成零件又由许多合成零件组成,依次类推!无限递归下去
问题是给你一大堆零件名称和数量,还有若干小合成零件
让你根据这个大合成零件的装配表计算出能装出多少要求合成零件来

举例说明
比如 要组装的合成零件为A
这个合成零件的装配表为:

零件 小合成零件
b1 d1
b2 d2
c1 d3
c2

其中小合成零件d1又由零件g2,c1,和另外的小合成零件 e4组成
e4又由零件w1,w3组成。
d2由零件r1,r4组成,d3由零件k2,g5组成。

要求给你一大堆零件 和一些小合成零件 a,b,c,d......
要求算出能组成多少合成零件A来。


这只是一个模拟的简单例子。
意思就是这样,反正是无穷递归下去,求算法!求高手给以帮助!谢谢!



...全文
98 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
神之泪花 2010-03-12
  • 打赏
  • 举报
回复
Mark................
zliuzz 2010-03-12
  • 打赏
  • 举报
回复
恩 补充下
这个按层计算的时候可以优化一下
如果判断当前节点不能被合成 比如A=B+C B有C没有 这样可以把A标志成“不能实现” 然后继续计算
例如当计算到D=A+E的时候 判断A“不能实现”为true 这样D这一条线都可以直接砍掉了 因为永远不可能被合成
zliuzz 2010-03-12
  • 打赏
  • 举报
回复
这不是现在QQ魔法卡片么。。。
动态规划吧。。。递归的效率很困难。。。
你把这个问题按照对应关系转换成一颗树 从树的叶子层一直向上计算 计算每个节点的时候保存一下当前节点需要下一层对应节点的数量
算到根节点就能得到整棵树的对应关系表了
bxfyb 2010-03-12
  • 打赏
  • 举报
回复
谢谢大家!
bxfyb 2010-03-12
  • 打赏
  • 举报
回复
我在考虑中,但是仍没有思路,。。。。。

67,512

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧