对于含有n个元素的子集树问题,最坏情况下其解空间的叶结点数目为()。
A.n!
B.2n
C.2n+1-1
D.2n-1
A.n!
B.2n
C.2n+1-1
D.2n-1
问题描述:子集和问题的一个实例为.其中,是一个正整数的集合,c是一个正整数.子集和问题判定是否存在S的一个子集S1,使得.试设计一个解子集和问题的回溯法.
算法设计:对于给定的正整数的集合和正整数c,计算S的一个了集S1,使得
数据输入:由文件input.txt提供输入数据.文件第1行有2个正整数n和c,n表示S的大小,c是子集和的目标值.接下来的1行中,有n个正整数,表示集合S中的元素.
结果输出:将子集和问题的解输出到文件output.txt.当问题无解时,输出“NoSolution!".
其中,集合{{1,2,3,4)}由1个子集组成:集合{{1{,2},{3,4}},{{1,3},{2,4},{{1,4},{2,3}},{{1,2,3},{4}},{{1,2,4},{3}},{{1,3,4},{2}},{2,3,4},{1}}由2个子集组成:集合{{1,2},{3},{4}},({1,3},{2},{4},{{1,4},{2},{3}},{{2,3},{1},{4)},{{2.4},{1},{3}},{{3,4},{1},{2}}由3个子集组成:集合{{1},{2},{3},{4}}由4个子集组成.
算法设计;给定正整数n和m,计算出n个元素的集合{1,2,...,n}可以划分为多少个不同的由m个非空子集组成的集合.
数据输入:由文件input.txt提供输入数据.文件的第1行是元素个数n和非空子集数m.
结果输出:将计算出的不同的由m个非空子集组成的集合数输出到文件output.txt.
0-1背包问题描述如下;给定n种物品和一个背包.物品i的重量是wi,其价值为vi背包的容量为C.应如何选择装入背包的物品,使装入背包中物品的总价值最大?
在选择装入肯包的物品时,对每种物品i只有2种选择,即装入背包或不装入背包.不能将物品i装入背包多次,也不能只装入部分的物品i.
0-1背包问题形式化描述如下:给定,要求n元0-1向量,使得而且达到最大.
算法设计:对于给定的n种物品的重量和价值,以及背包的容量,计算可装入背包的最大价值.
数据输入:由文件input.txt给出输入数据.第1行有2个正整数n和c,n是物品数,c是背包的容量.接下来的1行中有n个正整数,表示物品的价值.第3行中有n个正整数,表示物品的重量.
结果输出:将计算的装入背包物品的最大价值和最优装入方案输出到文件output.txt
根据课文中给出的优先级,回答以下问题:
(1)在函数postfix中,如果表达式e含有n个操作符和分界符,问栈中最多可存人多少个元素?
(2)如果表达式e含有n个运算符,且括号嵌套的最大深度为6层,问栈中最多可存入多少个元素?