算法 | 分支限界法和回溯法的搜索策略&动态规划特性&贪心算法特性

分支限界法的搜索策略:

一次性生成当前扩展节点的所有儿子节点,然后从活节点表中选取要扩展的下一个结点,为了加快搜索速度,会计算节点的函数值,即限界函数。然后从活节点表中选取最有利的结点进行扩展。使搜索朝着最优解的方向进行,以便更快的找到最优解


回溯法的搜索策略:

在有问题所有可能解的状态空间树 上进行深度优先搜索,解为叶子节点 ,当搜索到一个新节点时,先判断该节点的子树是否含有问题的解,如果没有就放弃搜索该节点,退回到父节点,再进行深搜。在整个回溯过程,不是事先构造好整颗状态空间树,而是逐步构造出整颗状态空间树,边搜索边构造


动态规划的特性:

最优子结构:是指问题的最优解可以通过求解子问题的解来得到

重叠子问题:在求解的过程中,有大量的子问题是重复的

无后效性:求解时只和前面阶段有关,和后面的阶段无关


什么是贪心算法

通过当前的最优选择,期待通过局部的最优选择来得到全局的最优解

贪心算法的特性:

最优子结构:问题的最优解包括子问题的解

贪心选择策略 :通过局部最优选择可以实现得到原问题的最优解


相关推荐
itzixiao16 小时前
L1-067 洛希极限(10分)[java][python]
java·开发语言·算法
jinyishu_16 小时前
链表经典OJ题
c语言·数据结构·算法·链表
葫三生16 小时前
三生原理文章被AtomGit‌开源社区收录的意义探析?
人工智能·深度学习·神经网络·算法·搜索引擎·开源·transformer
AI进化营-智能译站16 小时前
ROS2 C++开发系列15-模板实现通用算法|宏定义ROS2调试开关|一次编码适配多平台
java·c++·算法·ai
刀法如飞16 小时前
Java数组去重的20种实现方式——指导AI解决不同问题的思路
java·算法·面试
良木生香16 小时前
【C++初阶】STL——Vector从入门到应用完全指南(1)
开发语言·c++·神经网络·算法·计算机视觉·自然语言处理·数据挖掘
Brilliantwxx16 小时前
【C++】String的模拟实现(代码实现与坑点讲解)
开发语言·c++·笔记·算法
憨波个16 小时前
【说话人日志】DOVER:diarization 输出融合算法
人工智能·算法·音频·语音识别·聚类
爱学习的张大16 小时前
具身智能论文问答(四):pi0
人工智能·算法
上弦月-编程16 小时前
指针编程:高效内存管理核心
java·数据结构·算法