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

devtools/2024/9/23 1:39:09/

分支限界法的搜索策略:

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


 

回溯法的搜索策略:

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


动态规划的特性:

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

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

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


什么是贪心算法

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

贪心算法的特性:

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

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



http://www.ppmy.cn/devtools/49682.html

相关文章

C++第二十五弹---从零开始模拟STL中的list(下)

✨个人主页: 熬夜学编程的小林 💗系列专栏: 【C语言详解】 【数据结构详解】【C详解】 目录 1、函数补充 2、迭代器完善 3、const迭代器 总结 1、函数补充 拷贝构造 思路: 先构造一个头结点,然后将 lt 类中的元…

请求 响应

在web的前后端分离开发过程中,前端发送请求给后端,后端接收请求,响应数据给前端 请求 前端发送数据进行请求 简单参数 原始方式 在原始的web程序中,获取请求参数,需要通过HttpServletRequest 对象手动获取。 代码…

c++工程实践——实际工程中的文件读取和日期处理的小问题

一、问题 在实际开发中遇到了两个小问题,一个是文件流的读写中的长度和结尾判断;另外一个是C11库std::chrono::duration的数据类型的问题。这两个问题导致了两个结果: 1、流结尾判断不准确,多读一帧导致长度判断恒为正确,文件不加…

四六级考前突击之主题词预测

考前主题词预测 时政类 Digital Economy 数字经济 (Digitalization数字化) Hong Kong Zhuhai-Macau Bridge 港珠澳大桥 Greater Bay Area 大湾区 Poverty Alleviation 扶贫 Anti-corruption campaign 反腐斗争 Rural Revitalization(注入活力) Strategy(战略,策略) 乡村振兴…

【Java基础】OkHttp 超时设置详解

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

Spring Boot:Java 应用开发高效之道

Spring Boot 是一种革命性的框架,旨在简化 Java 应用的创建和部署过程。通过自动化配置和简化项目搭建流程,Spring Boot 大大加速了开发周期,让 Java 应用开发变得更加高效和便捷。 核心优势: 快速启动和简化配置:Spr…

Incredibuild for Mac 来了!

Mac 开发者在寻找适合自己需求的工具时可能会遇到一些困难,因为 Mac 操作系统相对封闭,不像其他系统那样开放和灵活。尽管如此,Mac 开发者在开发应用程序时的需求(比如功能、效率等)和使用其他操作系统的开发者是类似的…

openresty安装并使用lua进行业务逻辑处理

OpenResty 基础教程及Lua动态脚本实现 OpenResty 简介 OpenResty 是一个基于 Nginx 与 Lua 的高性能 Web 平台,它将 Nginx 的 C 模块和 Lua 脚本相结合,提供了一个强大的 Web 应用服务器和反向代理服务器。OpenResty 特别适合处理高并发的 Web 应用&am…