【单选题】下面哪种函数是回溯法中为避免无效搜索采取的策略()
A.递归函数
B.剪枝函数
C.随机数函数
D.搜索函数
第1题:
下面( )不是软件调试的主要方法?
A.搜索法
B.原因排除法
C.回溯法
D.强行排错法
第2题:
下面哪种函数是回溯法中为避免无效搜索采取的策略()
第3题:
回溯法是一种既带有()又带有()的搜索算法。
第4题:
在对问题的解空间树进行搜索的方法中,一个活结点有多次机会成为活结点的是()
第5题:
在对问题的解空间树进行搜索的方法中,一个活结点最多有一次机会成为活结点的是()
第6题:
回溯法搜索解空间树时,常用的两种剪枝函数为()和()。
第7题:
回溯法在问题的解空间树中,按()策略,从根结点出发搜索解空间树。
第8题:
广度优先
活结点优先
扩展结点优先
深度优先
第9题:
分治策略
动态规划法
贪心法
回溯法
第10题:
回溯法
分支限界法
回溯法和分支限界法
动态规划
第11题:
回溯法
分支限界法
回溯法和分支限界法
回溯法求解子集树问题
第12题:
分支界限法
动态规划法
贪心法
回溯法
第13题:
【问题 1】(8 分)
用回溯法求解此 0-1 背包问题,请填充下面伪代码中(1)~(4)处空缺。
回溯法是一种系统的搜索方法。在确定解空间后,回溯法从根结点开始,按照深度优先策略遍历解空间树,搜索满足约束条件的解。对每一个当前结点,若扩展该结点已经不满足约束条件,则不再继续扩展。为了进一步提高算法的搜索效率,往往需要设计一个限界函数,判断并剪枝那些即使扩展了也不能得到最优解的结点。现在假设已经设计了BOUND( v,w,k,W )函数,其中 v、w、k 和 W分别表示当前已经获得的价值、当前背包的重量、已经确定是否选择的物品数和背包的总容量。对应于搜索树中的某个结点,该函数值表示确定了部分物品是否选择之后,对剩下的物品在满足约束条件的前提下进行选择可能获得的最大价值,若该价值小于等于当前已经得到的最优解,则该结点无需再扩展。
下面给出 0-1背包问题的回溯算法伪代码。
函数参数说明如下:
W:背包容量;n:物品个数;w:重量数组;v:价值数组;fw:获得最大价值时背包的重量;fp:背包获得的最大价值;X:问题的最优解。
变量说明如下:
cw:当前的背包重量;cp:当前获得的价值;k:当前考虑的物品编号;Y:当前已获得的部分解。
第14题:
图搜索策略最大的优点是()
第15题:
二分搜索算法是利用()实现的算法。
第16题:
比较回溯法和分支限界法的搜索方式,哪种方法更适合找最优解问题?
第17题:
关于回溯搜索法的介绍,下面()是不正确描述。
第18题:
采用广度优先策略搜索的算法是()。
第19题:
分支界限法
动态规划法
贪心法
回溯法
第20题:
回溯法有“通用解题法”之称,它可以系统地搜索一个问题的所有解或任意解
回溯法是一种既带系统性又带有跳跃性的搜索算法
回溯算法在生成解空间的任一结点时,先判断该结点是否可能包含问题的解,如果肯定不包含,则跳过对该结点为根的子树的搜索,逐层向祖先结点回溯
回溯算法需要借助队列这种结构来保存从根结点到当前扩展结点的路径
第21题:
第22题:
第23题:
递归函数
剪枝函数
随机数函数
搜索函数
第24题:
当回溯出现时,回溯点处进行的搜索将被算法忘记,其好处是节省了存储空间。
被回溯掉的已经搜索过的部分,不能被以后使用。
搜索过的路径除了可以重复利用。
可以更有效地利用与问题有关的一些知识,从而达到启发式搜索的目的。