算法设计与分析复习(7)

时间:2026-05-07   来源:未知    
字号:

5.6 0-1背包问题

解空间:子集树

可行性约束函数:∑w i x i≤C

上界函数:Bound()

掌握Bound函数的思想。

掌握Knapsack回溯算法思想。

计算时间复杂度为为O(n2n)。

5.7 最大团问题

解空间:子集树

可行性约束函数:顶点i到已选入的顶点集中每一个顶点都有边相连。

上界函数:有足够多的可选择顶点使得算法有可能在右子树中找到更大的团。

掌握最大团问题的回溯算法backtrack思想。

计算时间复杂度为为O(n2n)。

5.9 旅行售货员问题

解空间:排列树

上界函数: 是否优于已找到的当前最优回路。

复杂度分析:

算法backtrack在最坏情况下可能需要更新当前最优解O((n-1)!)次,每次更新bestx需计算时间O(n),从而整个算法的计算时间复杂性为O(n!)

第6章分支限界法

6.1 分支限界法的基本思想

分支限界法与回溯法的区别:

(1)求解目标:回溯法的求解目标是找出解空间树中满足约束条件的所有解,而分支限界法的求解目标则是找出满足约束条件的一个解,或是在满足约束条件的解中找出在某种意义下的最优解。

(2)搜索方式的不同:回溯法以深度优先的方式搜索解空间树,而分支限界法则以广度优先或以最小耗费优先的方式搜索解空间树。

分支限界法的搜索策略:

分支限界法常以广度优先或以最小耗费(最大效益)优先的方式搜索问题的解空间树。在分支限界法中,每一个活结点只有一次机会成为扩展结点。活结点一旦成为扩展结点,就一次性产生其所有儿子结点。在这些儿子结点中,导致不可行解或导致非最优解的儿子结点被舍弃,其余儿子结点被加入活结点表中。此后,从活结点表中取下一结点成为当前扩展结点,并重复上述结点扩展过程。这个过程一直持续到找到所需的解或活结点表为空时为止。

两种分支限界法:

队列式(FIFO)分支限界法

按照队列先进先出(FIFO)原则选取下一个节点为扩展节点。

7/8

算法设计与分析复习(7).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:19 元/月 原价:99元
低至 0.1 元/份 每月下载300
全站内容免费自由复制
VIP包月下载
特价:19 元/月 原价:99元
低至 0.1 元/份 每月下载300
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)