能否从这n件物品中选择若干件放入此背包中,使得放入的重量之和正好为s。如果存在一种符合上述要求的选择,则称此背包问题有解(或称其解为真);否则称此背包问题无解(或称其解为假)。试用递归方法设计求解背包问题的算法。(提示:此背包问题的递归定义如下:)
下面是一个快速排序的逆归算法。为了避免最坏情况,取基准记录pivot采用从lelt,right和中取中间值,并交换到low位置的办法。数组A存放待排序的一组记录,数据类型为T,left和right是待排序子区间的最左端点和最右端点。
(1)实现三者取中子程序mediancy(A,left,right);
(2)改写QuickSort算法,不用栈消去第二个递归调用QuickSort(A,pivotPos+1,right);
(3)继续改写QuickSort算法,用栈消去剩下的递归调用。