算法设计与分析 第五章2 图的搜索算法.ppt

第五章 图的搜索算法 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记录当前层以下的最大重量

文档评论(0)

1亿VIP精品文档

相关文档