算法设计与分析第五章2图的有哪些信誉好的足球投注网站算法.ppt

算法设计与分析第五章2图的有哪些信誉好的足球投注网站算法.ppt

  1. 1、本文档共37页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
算法设计与分析第五章2图的有哪些信誉好的足球投注网站算法剖析

第五章 图的有哪些信誉好的足球投注网站算法 5.5 分支限界法 5.5.1 分枝有哪些信誉好的足球投注网站算法 5.5.2 分枝-限界有哪些信誉好的足球投注网站算法 5.5.3 算法框架 5.6 图的有哪些信誉好的足球投注网站算法小结 5.5.1 分枝有哪些信誉好的足球投注网站算法 1.FIFO有哪些信誉好的足球投注网站 2.LIFO有哪些信誉好的足球投注网站 3.优先队列式有哪些信誉好的足球投注网站 5.5.2 分枝-限界有哪些信誉好的足球投注网站算法 算法1的缺点 1)在可解的情况下,没有给出每艘装载物品的方案。而要想记录第一艘船最大装载的方案,象回溯法中用n个元素的数组是不能实现的,可以象5.2.2小节中的例子用数组队列下标记录解方案。 这里采用构造二叉树的方法,和5.2.2小节中的例题一样只需要记录最优解的叶结点,这样二叉树就必需有指向父结点的指针,以便从叶结点回溯找解的方案。又为了方便知道当前结点对物品的取舍情况,还必须记录当前结点是父结点的哪一个儿子。 数据结构:由此,树中结点的信息包括:weight;parent; LChild;。同时这些结点的地址就是抽象队列的元素,队列操作与算法1相同 . 2)算法1是在对子集树进行盲目有哪些信誉好的足球投注网站,我们虽然不能将有哪些信誉好的足球投注网站算法改进为多项式复杂度,但在算法中加入了“限界”技巧,还是能降低算法的复杂度。 数据结构:相应地,当前最大装载bestw不仅仅对叶结点计算,每次有哪些信誉好的足球投注网站装载情况(有哪些信誉好的足球投注网站左儿子)时,都重新确定bestw的值。为了方便计算一个分支的“装载上界”,用变量r记录当前层以下的最大重量。 公共变量的定义: 算法如下: main( ) {int c1,c2,n, s=0,i; input(c1,c2,n); for(i=1;i=n;i++) {input(w[i]); s=s+w[i];} if (s=c1 or s=c2) {print(“need only one ship”); return;} if (sc1+c2) {print(“no solution”); return;} AddLiveNode(folat wt,int i, QNode *E, int ch) { Qnode *b; if (i = n) / 叶子 { if (wtbestw) / 目前的最优解/ { bestE = E; bestx[n] = ch;} //bestx[n]取值为ch return; } b = new QNode; // 不是叶子, 添加到队列中 b-weight = wt; b-parent = E; b-LChild = ch; //新节点是左孩子时 add (Q,b) ; } if (!E) // 层的尾部 {if (Empty(Q )) break; add (Q 0 ) ; // 层尾指针 Delete(Q,E ) ; // 下一个E-节点 i + + ; // E-节点的层次 r = r - w[i];} // E-节点中余下的重量 Ew = E- w e i g h t ; // 新的E-节点的重量 } // 沿着从b e s t E到根的路径构造x[ ],x [n]由AddLiveNode来设置 for (j = n - 1; j 0; j--) {bestx[j] = bestE-LChild; // 从b o o l转换为i n t bestE = bestE-parent;} return bestw; } 算法设计3:用优先队列式分支限界法解决【例2】的问题 算发设计3(3): 算法3如下: HeapNode H[1000]; struct bbnode {bbnode *parent; // 父节点指针 int LChild; }; // 当且仅当是父节点的左孩子时,取值为1 struct HeapNode {bbnode *ptr; // 活节点指针 float uweight; // 活节点的重量上限 int level; } ; // 活节点所在层 算发设计3 算发设计3 算法说明: 小结讨论: 答案:由于FIFO有哪些信誉好的足球投注网站或LIFO有哪些信誉好的足球投注网站是盲目扩展地结点,当前最优解距真正的最优解距离较大,作为“界”所起到的剪枝作用很有限,不能有效提

您可能关注的文档

文档评论(0)

1520520 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档