- 1、本文档共38页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
0/1背包 ;2;最优子结构
0/1背包的最优解具有最优子结构特性。
设 (x1, x2,… , xn),xi?{0,1}是0/1背包的最优解,那么,(x1 ,x2,… , xn-1) 必然是0/1背包子问题的最优解:背包载重C?wnxn,共有n-1件物品,第i件物品的重量为 wi,效益Vi,wi0,vi0,1?in。;4; 假如有容量为9的背包,要装入4种体积为2,3,4和5的物品,价值分别为3,4,5和7。
要在不超出背包容量的前提下,用某种方法尽可能多地在背包内装入物品,使总价值最大,
首先,准备一个标号为0到4共5行和标号从0起到9共10列的空的矩形表,接着用值0初始化0列和0行的元素
按如下办法直接填行1的值:m[1,j]=3(第一种物品的价值),当且仅当j≥2(第一种物品的体积)。
第二行中的每项m[2,j]有两种可能性,第一种可能性是置
m[2,j]=m[1,j]这相当于把第一种物品放入背包,2号物品放不下;第二种可能性是???m[2,j]=m[1,j-3]+4,它相当于加上第二种物品,使它或者仅包含第二种物品,或者同时包含第一种和第二种物品。当然,仅当j≥3时,才有可能加上第二种物品。继续这种方法,填入第3行和第4行,得到如图所示的表。 ;体积为2,3,4和5的物品,价值分别为3,4,5和7。;;Knapsack有两个较明显的缺点:
1.算法要求所给物品的重量w是整数
2.当背包容量c很大时,算法需要的计算时间比较多。;9;10;11;12;13;最优二叉有哪些信誉好的足球投注网站树 ;;;二叉有哪些信誉好的足球投注网站树的基本操作;;;;设有元素集合S={x1,x2,…,xn},其中,x1x2…xn。表示有序集S的二叉有哪些信誉好的足球投注网站树利用二叉树的结点来存储有序集中的元素。
二叉有哪些信誉好的足球投注网站树的叶子结点是形如( xi,xi+1 )的开区间。
在表示S的二叉有哪些信誉好的足球投注网站树中有哪些信誉好的足球投注网站一个元素x,返回的结果有两种情形:
(1)在二叉有哪些信誉好的足球投注网站树的内结点中找到x=xi
(2)在二叉有哪些信誉好的足球投注网站树的叶子结点中确定x属于( xi,xi+1 );22;p(i) 是在集合中成功查找xi 的概率,1?i? n,q(i)是待查元素x值满足 xixxi+1的概率,0?i? n(假定x0= ??, xn+1=+?)。
最优二叉有哪些信誉好的足球投注网站树问题是指设法构造一棵具有最小平均有哪些信誉好的足球投注网站时间的二叉有哪些信誉好的足球投注网站树。
;设 c(0,n) 是由元素值集合{a1,…,an}所构造的最优二叉有哪些信誉好的足球投注网站树的代价,则;一般地,c(i,j) ,i?j 是元素值集合{ai+1,…,aj}所构造的最优二叉有哪些信誉好的足球投注网站树的代价,设r(i,j)=k为该树的根,要求结点k满足;例
设n=4且(a1,a2,a3,a4)=(Mon,Thu,Tue,Wed)。又设p(1:4)=(3,3,1,1)和q(0:4)=(2,3,1,1,1)。这里p和q都已乘了16。;;构造最优二叉有哪些信誉好的足球投注网站树
int Find(int i,int j,int **r,float**c)
{
float min=INFTY; int k;
for (int m=i+1;m=j;m++)
if ((c[i][m-1]+c[m][j])min) {
min=c[i][m-1]+c[m][j];k=m;
}
return k;
}; void CreateOBST(float* p,float* q,
float **c,int **r,float**w,int n)
{
for (int i=0;i=n-1;i++) {
w[i][i]=q[i];c[i][i]=0.0;r[i][i]=0;
w[i][i+1]=q[i]+q[i+1]+p[i+1];
c[i][i+1]=q[i]+q[i+1]+p[i+1];
r[i][i+1]=i+1;
}
w[n][n]=q[n];c[n][n]=0.0;r[n][n]=0; ; for (int m=2;m=n;m++)
for (i=0;i=n-m;i++) {
int j=i+m;
w[i][j]=w[i][j-1]+p[j]+q[j];
int k = Find(i,j,r,c);
c[i][j] = w[i][j] + c[
您可能关注的文档
最近下载
- 变速器换挡叉加工工艺及夹具设计.docx
- 四川省专升本计算机基础知识资料.pdf
- “挑战杯”竞赛课学术科技作品撰写指导.ppt
- 基于PLC的校园照明智能控制系统设计毕业设计(论文).doc VIP
- 郑州信息科技职业学院2024年单独招生考试职业技能(适应)测试大纲.pdf VIP
- 新人教必修三单元综合测试 Unit 3-5.doc VIP
- 鹿血多肽的制备、体内外免疫调节活性及其机制研究.pdf VIP
- 2022年政府数字化转型研究报告 数字政府的协同化分析.pdf VIP
- 2025年郑州信息科技职业学院单招职业倾向性测试题库完美版.docx VIP
- 征信简版PDF个人信用报告-优征信版本-2025年2月去锁可编辑.pdf
文档评论(0)