(软考-软件设计师.下午)动态规划算法、回溯算法、贪心算法、分治算法的应用

这篇具有很好参考价值的文章主要介绍了(软考-软件设计师.下午)动态规划算法、回溯算法、贪心算法、分治算法的应用。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

分治 

关键字:【递归技术】【二分查找】

(软考-软件设计师.下午)动态规划算法、回溯算法、贪心算法、分治算法的应用分治法的设计思路:

将一个难以直接解决的大问题分解成一些规模较小的相同问题以便于逐个击破,分而治之。 

(软考-软件设计师.下午)动态规划算法、回溯算法、贪心算法、分治算法的应用 

分治法-递归技术

 

 

int F(int n)
{
if(n == 0) return 1;
if(n == 1) return 1;
if(n > 1 ) return F(n-1) + F(n-2);
}

分治法-二分法查找

 (108条消息) 【二分查找】有这一篇足够了_快到锅里来呀的博客-CSDN博客_二分查找https://blog.csdn.net/m0_58761900/article/details/124664975?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522166504720116782248515187%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257D&request_id=166504720116782248515187&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~blog~first_rank_ecpm_v1~rank_v31_ecpm-1-124664975-null-null.nonecase&utm_term=%E4%BA%8C%E5%88%86&spm=1018.2226.3001.4450

由代码可以看出二分查找也属于分治法的一种,关于二分查找,这位博主总结的很详细。 

动态规划

关键字:【查表】

(软考-软件设计师.下午)动态规划算法、回溯算法、贪心算法、分治算法的应用

 

动态规划的设计思路:

与分治法类似,基本思想就是将待解决的问题分解成若干个子问题,先求解子问题,然后从子问题的解得到原问题的解。与分治法不同的是,适用于动态规划法求解的问题,经分解得到的子问题往往不是独立的。若用分治法求解类似问题,则相同的问题会被求解多次,以至于最后求解原问题需要耗费指数级时间

最常见的动态规划的题目:

(软考-软件设计师.下午)动态规划算法、回溯算法、贪心算法、分治算法的应用

 

爬上第 1 级只有一种方法:直接爬 1 级即可。 爬上第 2 级有两种方法:每次爬 1 级,爬两次;或者一次爬 2 级。 (数据量少我们可以尝试用列举法做出来)

动态规划的核心就是:拆分子问题,记住过往,减少重复计算

(软考-软件设计师.下午)动态规划算法、回溯算法、贪心算法、分治算法的应用

回溯

关键字:【优先搜索法(深度优先)】【迷宫问题(走不通就退后去)】

(软考-软件设计师.下午)动态规划算法、回溯算法、贪心算法、分治算法的应用

(软考-软件设计师.下午)动态规划算法、回溯算法、贪心算法、分治算法的应用

回溯法的设计思路:

一种既带有系统性又带有跳跃性的搜索算法。她在包含问题的所有解的解空间树中,按照深度优先的策略,从根节点出发搜索解空间树。

使用回溯法解决问题的过程,实际上是建立一棵“状态树(解空间树)”的过程。 

例如,在解决列举集合{1,2,3}所有子集的问题中,对于每个元素,都有两种状态,取还是舍,所以构建的状态树为:

(软考-软件设计师.下午)动态规划算法、回溯算法、贪心算法、分治算法的应用

 

贪心

关键字:【背包问题(得不到最优解)】【0-1背包问题】【每一步取最优,结果不见得最优】【最先适宜策略(能进则进)】【最优适宜策略(能进进最大)】

(软考-软件设计师.下午)动态规划算法、回溯算法、贪心算法、分治算法的应用

 

贪心算法的设计思路:

经常被用来解决最优化问题,但他的最优往往是从局部最优来考虑的,每一步都选最优的方案,但这种方案不一定能得到整体上最优

背包问题

背包问题是典型的算法问题,包括两种形式,【0-1背包问题】和【部分背包问题】。0-1背包问题是指每个物品或者全部放在背包中或者不放在背包中,求解在特定背包容量下装入背包物品的最大价值。部分背包问题中,每个物品可以部分地放入背包中,求解在特定背包容量下装入背包物品的最大价值。
基于单位重量价值最大优先的策略来将物品放入背包中,本质上是一种贪心的策略。在该策略下求0-1背包问题,不能确保得到最优解。而对于部分背包问题,是可以得到最优解的。文章来源地址https://www.toymoban.com/news/detail-463858.html

到了这里,关于(软考-软件设计师.下午)动态规划算法、回溯算法、贪心算法、分治算法的应用的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 软考-软件设计师

    一、计算机系统 1.1 CPU的功能有: 1.2 运算器的组成 1.3 控制器——不仅要保证程序的正确执行、还要能够处理异常事件 1.3.1 指令控制逻辑 1.4 计算机基本单位 1.5 进制的变换 1.5.1 进制加减法 1.6 原码、反码、补码、移码 1.7 浮点数 1.8 寻址 1.9 校验码 1.10 RISC、CISC 1.11 流水

    2024年02月05日
    浏览(37)
  • 【软考|软件设计师】专业英语(软考真题)

        目录 全文翻译: 字段翻译:           DerOps is a continuous simplification process of maintaining a delicate balance among functionality,   usability and security of a software both in terms of its development and oprations. Software engineering is the application of diverse engineering approaches towards the development of software.

    2024年02月03日
    浏览(94)
  • 软考A计划-网络规划设计师-学习笔记-上

    点击跳转专栏=Unity3D特效百例 点击跳转专栏=案例项目实战源码 点击跳转专栏=游戏脚本-辅助自动化 点击跳转专栏=Android控件全解手册 点击跳转专栏=Scratch编程案例 专注于 Android/Unity 和各种游戏开发技巧,以及 各种资源分享 (网站、工具、素材、源码、游戏等) 有什么需要

    2024年02月07日
    浏览(48)
  • 软考:中级软件设计师:大数据

    提示:系列被面试官问的问题,我自己当时不会,所以下来自己复盘一下,认真学习和总结,以应对未来更多的可能性 关于互联网大厂的笔试面试,都是需要细心准备的 (1)自己的科研经历, 科研内容 ,学习的相关领域知识,要熟悉熟透了 (2)自己的实习经历,做了 什

    2024年02月11日
    浏览(35)
  • 中级软考-软件设计师(一)

    1.编译和解释 编译器 不参与运行控制 , 解释器 参与运行控制,程序执行的速度慢 。 编译方式 能生成目标程序, 解释方式 不生成。 2.在CPU中,( 运算器,ALU )在控制器下完成算术和逻辑运算。( 累加寄存器,AC )为ALU提供一个工作区,用来暂存数据。( 程序计数器,

    2024年02月04日
    浏览(30)
  • 软考:中级软件设计师:HTML

    提示:系列被面试官问的问题,我自己当时不会,所以下来自己复盘一下,认真学习和总结,以应对未来更多的可能性 关于互联网大厂的笔试面试,都是需要细心准备的 (1)自己的科研经历, 科研内容 ,学习的相关领域知识,要熟悉熟透了 (2)自己的实习经历,做了 什

    2024年02月11日
    浏览(32)
  • 中级软考-软件设计师(三)

    1.netstat -n :可以获取本计算机通过那些端口和外网的IP和端口进行连接; 不能诊断DNS故障 。 state状态: ESTABLISHED:已经建立连接 TIME_WAIT:等待连接 2.SNMP是应用层。 在SNMP协议中,团体名相当于一个组,在进行管理时,是以团体名为单位进行管理的,基作用域也在相同团体名

    2024年02月07日
    浏览(30)
  • [软考中级]软件设计师-uml

    uml中有4中事物,结构事物,行为事物,分组事物和注释事物 结构事物是uml模型中的名词,通常是模型的静态部分,描述概念或物理元素 行为事物是uml的动态部分,是模型中的动词,描述了跨越时间和空间的行为 分组事物是uml模型中的组织部分,是一些由模型分解成的盒子,

    2024年02月07日
    浏览(33)
  • 软考 软件设计师计算机网络笔记

    物理层的互联设备有中继器和集线器,集线器是一种特殊的多路多端口中继器 数据链路层的互连设备有网桥,交换机,交换机是一个多端口的网桥 网络层互连设备有路由器 所有带T的除了TFTP其他都是TCP,所有不带T的除了POP3其他都是UDP​ 考试对用题型 tcp面向连接,udp无连接

    2024年02月06日
    浏览(57)
  • 软考中级软件设计师主观题详解

    试题 考察内容 数据流图/DFD 补充外部实体、数据存储、加工、数据流等 数据库设计/ER E-R图 关系模式 主键/外键 规范化理论 增加实体 UML建模 类图 用例图 活动图等 C语言算法 C语法+数据结构 Java/C++ 基础语法+设计模式 名词 解释 外部实体 系统外部现实世界存在的物体 矩形表

    2024年02月03日
    浏览(29)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包