算法设计题
1、请设计一算法:已知顺序表L,表中元素为整型且递增有序,现有一值为e的元素要插入L表,使插入后L表仍然有序。2、已知L为非递减的顺序表,请设计算法删除L中重复的元素(即...
1、请设计一算法:已知顺序表L,表中元素为整型且递增有序,现有一值为e的元素要插入L表,使插入后L表仍然有序。
2、已知L为非递减的顺序表,请设计算法删除L中重复的元素(即删除后使L表变为一递增表)。3、已知带头结点的动态单链表L中的结点是按整数值递增排列的,试写一算法将值x为的结点插入到表L中,使L仍然有序 展开
2、已知L为非递减的顺序表,请设计算法删除L中重复的元素(即删除后使L表变为一递增表)。3、已知带头结点的动态单链表L中的结点是按整数值递增排列的,试写一算法将值x为的结点插入到表L中,使L仍然有序 展开
展开全部
(再版)
0-1背包问题
0-1背包问题:给定n种物品和一个背包。项目我的体重是无线网络,它的价格是vi背包容量C.
Q:我应该如何选择装载物品的背包,使得装入背包的总价值呢?
选择项目装入背包的每个项目我只有两种选择,即装入背包或不装入背包。项目i装入背包多次,不仅加载的项目我。
因此,这个问题被称为0-1背包问题。
?0-1解向量(X1,X2,...,XN),西安∈{0,1},1 <= I <= N。
动态编程解决方案:
集0-1背包问题给定的子最优值,M(I,J),M(我,j)是第j背包容量,可选择的项目我,我+1,...,N 0-1背包问题的最优值
无效背包()
INT I,J;
为(i = 0; I <=我+ +)
为(J = 0 J <= JMAX; J + +)
M [] [J] = 0;
(i = 0; <= n; i + + )
为(J = 0; <= JMAX; J + +)
(W [I]> J)
米[I] [J] = M [I-1] [J];
其他
M [] [J] = MAX(M [I-1] [J],M [I-1] [JW [我] + V [I]);
printf的(“%d \ N”,M [N] [C]); BR />
}
回溯解决方案:
无效1背包(I)
{
BR />(>),百视通= CV
其他
{
(CW + W [I] <= C )
{
CW + = W [我];
CV + = V [I];
背包(i +1);
CW-= W [I];
CV-= V [I];
}
a>
背包(+1);
}
}
0-1背包问题
0-1背包问题:给定n种物品和一个背包。项目我的体重是无线网络,它的价格是vi背包容量C.
Q:我应该如何选择装载物品的背包,使得装入背包的总价值呢?
选择项目装入背包的每个项目我只有两种选择,即装入背包或不装入背包。项目i装入背包多次,不仅加载的项目我。
因此,这个问题被称为0-1背包问题。
?0-1解向量(X1,X2,...,XN),西安∈{0,1},1 <= I <= N。
动态编程解决方案:
集0-1背包问题给定的子最优值,M(I,J),M(我,j)是第j背包容量,可选择的项目我,我+1,...,N 0-1背包问题的最优值
无效背包()
INT I,J;
为(i = 0; I <=我+ +)
为(J = 0 J <= JMAX; J + +)
M [] [J] = 0;
(i = 0; <= n; i + + )
为(J = 0; <= JMAX; J + +)
(W [I]> J)
米[I] [J] = M [I-1] [J];
其他
M [] [J] = MAX(M [I-1] [J],M [I-1] [JW [我] + V [I]);
printf的(“%d \ N”,M [N] [C]); BR />
}
回溯解决方案:
无效1背包(I)
{
BR />(>),百视通= CV
其他
{
(CW + W [I] <= C )
{
CW + = W [我];
CV + = V [I];
背包(i +1);
CW-= W [I];
CV-= V [I];
}
a>
背包(+1);
}
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询