当前位置: 首页 > web >正文

贪心,回溯,动态规划

1.贪心算法

​ 贪心算法是一种在每一步选择中都采取在当前状态下最好或最优的选择,从而希望全局最好或是最优的算法。

  1. 特点
    • 局部最优选择
    • 不能保证全局最优
    • 高效
  2. 适用条件
    • 局部最优可以导致全局最优
    • 问题的最优解包含子问题的最优解
  3. 经典问题
    • 活动选择问题
    • 最短路径
    • 最小生成树

2.动态规划

​ 动态规划是一种分治思想,通常将原问题分解为相对简单的子问题的方式来求解复杂问题的方法。动态规划常常适用于有重叠子问题和最优子结构性质的题.

  1. 特点
    • 重叠子问题:问题可以分解成若干子问题,且子问题会重复出现
    • 问题的最优解包含子问题的最优解
    • 存储子问题的解以避免重复计算
  2. 适用条件
    • 局部最优可以导致全局最优
    • 问题的最优解包含子问题的最优解
  3. 经典问题
    • 斐波那契数列
    • 背包问题
    • 最长公共子序列
    • 最短路径问题
  4. 解题步骤
    1. 确定dp数组(dp table)以及下标的含义
    2. 确定递推公式
    3. dp数组如何初始化
    4. 确定遍历顺序
    5. 举例推导dp数组

3.回溯

​ 回溯算法是一种通过探索所有可能的候选解来找出所有解的算法。

  1. 特点

    • 系统性:逐步构建候选解
    • 跳跃性:当发现部分候选解不可能得到正确解时,放弃该解(剪枝)
    • 通常用递归实现
  2. 经典问题

    • 组合问题:N个数里面按一定规则找出k个数的集合
    • 切割问题:一个字符串按一定规则有几种切割方式
    • 子集问题:一个N个数的集合里有多少符合条件的子集
    • 排列问题:N个数按一定规则全排列,有几种排列方式
    • 棋盘问题:N皇后,解数独等等
  3. 代码框架

    void backtracking(参数) {if (终止条件) {存放结果;return;}for (选择:本层集合中元素(树中节点孩子的数量就是集合的大小)) {处理节点;backtracking(路径,选择列表); // 递归回溯,撤销处理结果}
    }

4.三者区别

在这里插入图片描述

http://www.xdnf.cn/news/12199.html

相关文章:

  • 打通印染车间“神经末梢”:DeviceNet转Ethernet/IP连接机器人的高效方案
  • 03 Deep learning神经网络的编程基础 代价函数(Cost function)--吴恩达
  • Mysql锁及其分类
  • Neko虚拟浏览器远程协作方案:Docker+内网穿透技术部署实践
  • 使用ZYNQ芯片和LVGL框架实现用户高刷新UI设计系列教程(第十五讲)
  • WebRTC中的几个Rtp*Sender
  • 解锁FastAPI与MongoDB聚合管道的性能奥秘
  • 【2025年】解决Burpsuite抓不到https包的问题
  • python爬虫:grequests的详细使用(基于gevent和requests的异步HTTP请求库)
  • 「数据分析 - Pandas 函数」【数据分析全栈攻略:爬虫+处理+可视化+报告】
  • 使用 HTML +JavaScript 从零构建视频帧提取器
  • LabVIEW的AMC架构解析
  • GIT - 如何从某个分支的 commit创建一个新的分支?
  • 「Java EE开发指南」如何使用MyEclipse在Web项目中用Web Fragments?
  • html - <mark>标签
  • 代码训练LeetCode(23)随机访问元素
  • CentOS 7 如何pip3安装pyaudio?
  • electron主进程和渲染进程之间的通信
  • 跨多个微服务使用 Redis 共享数据时,如何管理数据一致性?
  • 推荐10个AI视频生成工具网站
  • 在Spring Boot 3.3中使用Druid数据源及其监控功能
  • 上门预约行业技术方案全解析:小程序、App还是H5?如何选择?
  • AIRIOT无人机安防解决方案
  • 【鸿蒙在 ETS (Extendable TypeScript) 中创建多级目录或文件,可以使用鸿蒙的文件系统 API】
  • 解决 Git 访问 GitHub 时的 SSL 错误
  • nginx怎么使用nginx-rtmp-module模块实现直播间功能
  • Apache DolphinScheduler 和 Apache Airflow 对比
  • EXCEL通过DAX Studio获取端口号连接PowerBI
  • 深入解析光敏传感技术:嵌入式仿真平台如何重塑电子工程教学
  • 探秘半导体制造设备钢结构防震基座的承重奥秘-江苏泊苏系统集成有限公司