- 3
- 0
- 约1.21千字
- 约 2页
- 2020-06-29 发布于山西
- 举报
A- PAGE 1
背包问题求解
算法如下:
void knapsack ( int w[ ], int T, int n ) {
// 已知n件物品的体积分别为 w[0], w[1], …, w[n],背包的总体积为 T,
// 本算法输出所有恰好能装满背包的物品组合解
InitStack(S); k = 0; // 从第0 件物品考察起
while ( !StackEmpty(S) k n ){
while ( T 0 k n ) {
if ( T - w[k] = 0 ) { // 第k件物品可选,则k入栈
Push(S,k);T-=w[k];}
k ++; // 继续考察下一件物品
if ( T == 0 ) {StackTraverse(S); return 0}// 输出第一组解
Pop ( S, k ); T + = w[k]; k ++; // 退出栈顶物品
// 继续考察下一件物品
} while
}// knapsack
1 写出每一次出/入栈的元素及其相应的 k+1值和T值,图示栈的变化情况,写出输出结果。
已知 int w[ ]={ 10,7,4,3,9,1,6}; T=12;
S
出/入栈
k+1
T
2实现栈的基本操作 StackEmpty(S);InitStack(S) ;Pop ( S, k )
排序
已知序列{55,12,56,33,24,70,48,92,86,33}
1 写出直接插入排序每一趟排序后的结果并标出序列的有序部分和无序部分
(非递减)
1趟:
2趟:
3趟:
2写出堆排序每一趟排序后的结果并标出序列的有序部分和无序部分,画出初始堆(建堆后的结果)。(非递减)
1趟:
2趟:
3趟:
3完成一趟直接插入排序算法
void InsertSort ( SqList L,int i) {
L.r[0] = L.r[i];
for ( j=i-1; (1) ; --j )
(2) ; // 记录后移
(3) ; // 插入到正确位置
} // InsertSort
您可能关注的文档
最近下载
- 公共营养师第四章-食物营养基础.ppt
- 课件-剑桥商务英语(初级)BEC Preliminary.ppt VIP
- 给排水国标图集-04S516:混凝土排水管道基础及接口.pdf VIP
- 2026年小学三年级语文下册全册教案.pdf
- 2024年高考真题——政治(湖南卷)Word版含答案.docx VIP
- 马克思主义与社会科学方法论课后习题答案 2025版.pdf
- 风机特性曲线.docx VIP
- 《现代礼仪》全套教学课件.pptx
- Unit+11+Lesson+1+Living+in+a+Community高中英语北师大版(2019)选择性必修第四册.doc VIP
- J系列开式可倾压力机参数.docx VIP
原创力文档

文档评论(0)