前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >算法二之子集和数问题

算法二之子集和数问题

作者头像
用户1631856
发布2018-04-12 11:49:53
1.8K0
发布2018-04-12 11:49:53
举报
文章被收录于专栏:老秦求学

什么是子集和数问题?

问题分析,简单的说就是有n 个数在这N个数中选取若干个数使得这几个数的和为M。

解决问题的途径;使用回溯法。

最后形成二叉树

左边是有这个数,右儿子是没有这个数。

使用回溯法,一个一个的进行计算,时间太长。

使用一定的条件,使得时间减短。

前提是对所有的数字进行非降序排序,然后在进行下面的操作。

限界函数,将有可能产生解的集合进行缩小。有的不可能产生可行解的直接进行排除。

∑W(i)X(i)+∑W(i)>=M

∑W(i)X(i)+W(k+1)>M

如果加入一个数k,如果k-1个数的和小于M,加上K小于M但是加上k的下一个数后大于M,那么数k也不用进行计算,直接排除。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2015-07-12 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档