分治法,动态规划法,贪心法,回溯法主要概括

在这里插入图片描述

目录

分治法,动态规划法,贪心法,回溯法主要概括

  • 1.前言
  • 2.分治法
    • 2.1基本思想:
    • 2.2适用条件:
    • 2.3时间复杂度:
    • 2.4主要解决:
    • 2.5关键字:
    • 2.6其他:
  • 3.动态规划法
    • 3.1基本思想:
    • 3.2适用条件:
    • 3.3时间复杂度:
    • 3.4主要解决:
    • 3.5关键字:
  • 4.贪心法
    • 4.1基本思想:
    • 4.2时间复杂度:
    • 4.3主要解决:
    • 4.4时间复杂度:
    • 4.5关键字:
  • 5.回溯法
    • 5.1基本思想:
    • 5.2时间复杂度:
    • 5.3主要解决:
    • 5.4其他:
  • 总结
  • 参考


1.前言

分治法,动态规划法,贪心法,回溯法主要概括

2.分治法

2.1基本思想:

讲一个复杂问题分解为若干规模较小且结构与原问题相似的子问题,然后递归解决这些子问题,最后将子问题的解合并得到原问题的解。

2.2适用条件:

1.问题可以被划分为相互独立且同质的子问题。
2.子问题的解可以合并为原问题的解。
3.子问题的规模足够小,可以直接求解。

2.3时间复杂度:

通常为O(nlogn)

2.4主要解决:

求解最优子结构
最大子数组和问题

2.5关键字:

分解子问题,递归解决,分币

2.6其他:

归并排序和快速排序都是使用分治法的经典算法。

3.动态规划法

3.1基本思想:

将原问题分解为若干重叠子问题,通过求解子问题的最优解得到原问题的最优解。使用一个表格来存储子问题的最优解,避免重复计算

3.2适用条件:

原问题可被分解为重叠的子问题

3.3时间复杂度:

不一定看具体算代码 通常为O(n^2)或
O(n^3)

3.4主要解决:

背包,0-1,公共子序列

3.5关键字:

全局最优解

4.贪心法

4.1基本思想:

每一步都选择当前看起来的最优解,不考虑未来,通过一系列的局部最优解,希望得到全局最优解。

4.2时间复杂度:

通常为O(n)

4.3主要解决:

霍夫曼编码、最小生成树(如Prim算法和Kruskal算法),背包问题,任务调度

这里是引用

4.4时间复杂度:

通常为O(n),因为贪心算法只需一次遍历即可得到解

4.5关键字:

局部最优解

5.回溯法

5.1基本思想:

通过逐步构建解的集合,当发现当前候选解不能满足问题的约束条件时,回溯到上一步进行其他选择,直到找到满足问题的解或者遍历完所有可能的选择

5.2时间复杂度:

取决于问题的规模和解的数量,通常为指数级别的复杂度。

5.3主要解决:

N皇后,迷宫问题

5.4其他:

回溯算法是一种通过穷举所有可能的解并逐步构建答案的方法。

总结

参考

给个三连吧 谢谢谢谢谢谢了
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/115575.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

强化学习问题(7)--- Python和Pytorch,Tensorflow的版本对应

1.问题 之前下载的python3.8,在对应Pytorch和Tensorflow时没太在意版本,在运行一些代码时,提示Pytorch和Tensorflow版本过高,直接降下来,有时候又和Python3.8不兼容,所以又在虚拟环境搞一个Pyhon3.7&#x…

JAVA毕业设计101—基于Java+Springboot的电影购票微信小程序带后台管理(源码+数据库)

基于JavaSpringboot的电影购票微信小程序带后台管理(源码数据库)101 一、系统介绍 本系统是小程序前台,带后台管理 本系统分为管理员、用户两种角色 管理员功能: 登录、统计分析、密码修改、用户管理、广告管理、影院管理、分类管理、电影管理、场次…

babel6使用ES2020最新js语法

babel6使用ES2020最新js语法 Babel 6 原本是不支持 ES2020 语法,因为它是在 Babel 7 中引入的。如果您想使用 ES2020 语法,您需要将 Babel 6 升级到 Babel 7 或更高版本(推荐),当然也可以在bebel6中安装支持某个语法的plugin,比如你想使用 ES2020 中的可…

UI自动化测试,让测试高效起来

RunnerGo提供从API管理到API性能再到可视化的API自动化、UI自动化测试功能模块,覆盖了整个产品测试周期。 RunnerGo UI自动化基于Selenium浏览器自动化方案构建,内嵌高度可复用的测试脚本,测试团队无需复杂的代码编写即可开展低代码的自动化…

【算法设计】递归与分治算法设计——二分搜索、假币识别问题(C++实现)

创作不易&#xff0c;本篇文章如果帮助到了你&#xff0c;还请点赞 关注支持一下♡>&#x16966;<)!! 主页专栏有更多知识&#xff0c;如有疑问欢迎大家指正讨论&#xff0c;共同进步&#xff01; 更多算法分析与设计知识专栏&#xff1a;算法分析&#x1f525; 给大家跳…

数字化驱动基础网络建设升级:实现高效信息传输的关键

随着科技的飞速发展&#xff0c;数字化驱动基础网络建设升级已成为当今社会的重要议题。信息传输的高效性和安全性对于现代社会的发展至关重要。本文将深入探讨数字化驱动基础网络建设升级的重要性、现状、升级措施以及未来发展趋势&#xff0c;旨在为相关领域提供有益的参考。…

“中国版Zara”拉夏贝尔:从辉煌到破产清算

文/ 大力财经 拉夏贝尔的破产清算&#xff0c;让人不禁惋惜。这个曾经被誉为“中国版Zara”的女装品牌&#xff0c;在全国拥有超过2000家门店&#xff0c;一度是年轻人的追捧对象。 然而&#xff0c;由于市场竞争激烈、品牌定位模糊、库存积压严重等问题&#xff0c;拉夏贝尔…

从0开始学云计算之服务器:服务的定义,特点,应用场景,分类

服务器定义 服务器是计算机的一种。它比普通计算机运行速度更快、负载更高且价格更高。 服务器的英文名称为“Server”&#xff0c;是指在网络上提供各种服务的高性能计算机。作为网络的节点&#xff0c;存储、处理网络上80%的数据、信息&#xff0c;因此也被称为x络的灵魂。 …

2023IG新功能大整理,更多玩法助力营销推广

作为当今全球最为受欢迎的社交媒体之一&#xff0c;Instagram在2023年迎来了一系列重要的功能更新。学习了解Instagram的最新功能&#xff0c;以及如何高效利用这些新的功能和工具&#xff0c;对于跨境品牌在该平台上实现营销推广至关重要。今天给大家详细介绍 Instagram在2023…

formData对象打印不出来

用el-upload上传图片 以流的形式传给后台 所以用formData对象带数据 let formData new FormData() formData.append(name&#xff0c;monkey7) console.log(formData) 明明已经把数据append进去了 console.log在控制台却打印不出 后来发现他得用formData.get("xxx"…

自然语言处理---Transformer机制详解之GPT2模型介绍

1 GPT2的架构 从模型架构上看, GPT2并没有特别新颖的架构, 它和只带有解码器模块的Transformer很像. 所谓语言模型, 作用就是根据已有句子的一部分, 来预测下一个单词会是什么. 现实应用中大家最熟悉的一个语言模型应用, 就是智能手机上的输入法, 它可以根据当前输入的内容智…

C++基础算法----正整数高精度加减乘除

4、正整数高精度 ​ 出现高精度的情况一般只有C会出现&#xff0c;python会无限制&#xff0c;java有大整数&#xff0c;所以基本上不用考虑&#xff0c;一般会出现四种情况 一个较大数A 一个较大数B一个较大数A - 一个较大数B一个较大数A * 一个数一个较大数A / 一个数 这里…

模式识别——贝叶斯决策理论

模式识别——贝叶斯决策理论BDR 须知基本原则0-1损失下的BDRMAP&#xff08;极大后验&#xff09;log trick 须知 所有内容在分类问题下讨论。 基本原则 定义 X X X为观测 Y Y Y为状态 g ( x ) g(x) g(x)用 x x x对 y y y进行预测预测损失为 L [ g ( x ) , i ] L[g(x),i] L[…

关于数据可视化那些事

干巴巴的数据没人看&#xff0c;数据可视化才能直观展现数据要点&#xff0c;提升数据分析、数字化运营决策效率。那关于可视化的实现方式、技巧、工具等&#xff0c;你了解几分&#xff1f;接下来&#xff0c;我们就来聊聊数据可视化那些事。 1、什么是数据可视化&#xff1f…

网络工程师知识点7

111、IS-IS路由器的三种类型&#xff1f; Level-1路由器&#xff08;只能创建level-1的LSDB&#xff09; Level-2路由器&#xff08;只能创建level-2的LSDB&#xff09; Level-1-2路由器&#xff08;路由器默认的类型&#xff0c;能同时创建level-1和level-2的LSDB&#xff09;…

友思特方案 | 3D点云实例分割现成算法模块助力实现自动化上下料应用

引言 全球范围内的大型汽车制造商和技术公司&#xff0c;以及一些专注于智能制造领域的创新企业&#xff0c;在3D视觉引导汽车部件自动化上下料项目方面都在进行研发和实践。国内外汽车制造行业&#xff0c;越来越多的企业开始采用3D视觉引导技术进行自动化上下料操作。 本文将…

优测云测试平台 | 有效的单元测试

一、前言 本文作者提出了一种评价单元测试用例的质量的思路&#xff0c;即判断用例是否达到测试的“四大目标”。掌握识别好的用例的能力&#xff0c;可以帮助我们高效地写出高质量的测试用例。 评判冰箱的好坏&#xff0c;并不需要有制造一台冰箱的能力。在开始写测试用例之…

【unity3D】Scroll Rect组件—制作下滑列表

&#x1f497; 未来的游戏开发程序媛&#xff0c;现在的努力学习菜鸡 &#x1f4a6;本专栏是我关于游戏开发的学习笔记 &#x1f236;本篇是unity的Scroll Rect组件 Scroll Rect组件 基础知识详细说明案例演示——制作一个简单的下滑框扩展 介绍&#xff1a;Scroll Rect组件是用…

【万字长文】向 AI 提问的艺术

向 AI 提问的艺术 本文是我在学习 Prompt Engineering 过程中&#xff0c;总结出来的一些经验和方法。里边包含一些自己的心得和验证有效的技巧。这些技巧在很多其他文章中也有介绍&#xff0c;这里可以当作是一个集大成的汇总。 我会按照“道——法——术”三个层面来介绍向 …

【最经典的79个】软件测试面试题(内含答案)

001.软件的生命周期(prdctrm) 计划阶段(planning)-〉需求分析(requirement)-〉设计阶段(design)-〉编码(coding)->测试(testing)->运行与维护(running maintrnacne) 测试用例 用例编号 测试项目 测试标题 重要级别 预置条件 输入数据 执行步骤 预期结果 0002.问&…