回溯法——求解子集和问题(Java)
而tw表示选取的整数和,rw表示余下的整数和,w[i]表示当前的重量。如果当前所选取的重量加上剩余的重量仍然W,就不可能找到一个和W相等的值,至于为啥-w[i],我的理解是右边是不选择,就相当于不选择当前的重量,即使减不减也无所谓(如果理解有误请指出)。,xn),这里是求所有满足条件的解,所有一旦搜索到叶子结点(即全部结点搜索完,即i>n),如果相应的子集和为W,则输出x解向量。例如,当n=4时,w={11,13,24,7},W=31,则满足要求的子集为(11,13,7)和(24,7)。
原创
2023-05-04 18:25:07 ·
3450 阅读 ·
5 评论