搜索
当前位置: 678彩票官网 > 递归向量 >

这段求子集和的C语言到底怎么递归和终结的?

gecimao 发表于 2019-04-18 14:24 | 查看: | 回复:

  在某本软考的书上,有一个关于算法中回溯法的案例,是求子集和的问题。即从指定的一组数中,找到所有和等于某个特定值的所有组合。C语言代码如下(我的注释部分利用了【重量】的概念,...

  在某本软考的书上,有一个关于算法中回溯法的案例,是求子集和的问题。即从指定的一组数中,找到所有和等于某个特定值的所有组合。C语言代码如下(我的注释部分利用了【重量】的概念,因为我习惯把它理解为背包问题,实际就是值),我搞C#和Java搞习惯了,这个代码我设置了断点也搞不懂它怎么实现递归和实现终结的,虽然程序说明中说条件已经规定了其递归条件,但是为什么它会自动递归和终结???:

  if(curSum+w[k]==m) //找到一个解 输出,很奇怪,程序为什么在此没有结束,会继续查找其他解

  可选中1个或多个下面的关键词,搜索相关资料。也可直接点“搜索资料”搜索整个问题。

  if(curSum+w[k]==m)//找到一个解输出,很奇怪,程序为什么在此没有结束,会继续查找其他解

  不要可以分出两条路,第二包在第一个包要的基础上分两条路,在不要第一个包的基础上仍分两条路,依次类推,1变2,2变4,4变8,所有的情况都无遗漏,直到满足条件或证明这条路不通,在纸上画个图就象树枝分叉一样

本文链接:http://windsorflowers.net/diguixiangliang/117.html
随机为您推荐歌词

联系我们 | 关于我们 | 网友投稿 | 版权声明 | 广告服务 | 站点统计 | 网站地图

版权声明:本站资源均来自互联网,如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

Copyright @ 2012-2013 织梦猫 版权所有  Powered by Dedecms 5.7
渝ICP备10013703号  

回顶部