C++教学PPT:基础算法之分治算法

公众号:编程驿站
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
综合练习:

分治算法很有哲学蕴味:老祖宗所言 合久必分,分久必合,分开地目的是为了更好的合并。分治算法的求解流程:分解问题:将一个需要解决的、看起很复杂 原始问题 分拆成很多独立的子问题,子问题与原始问题有相似性。求解子问题:子问题除了与原始问题具有相似性,也具有独立性,即所有子问题都可以独立求解。合并子问题: 合并每一个子问题的求解结果最终可以得到原始问题的解。

适用情况:

1.该问题的规模缩小到一定的程度就可以容易地解决;

2.该问题可以分解为若干个规模较小的相同问题,即该问题具有最优子结构性质;

3.利用该问题分解出的子问题的解可以合并为该问题的解;

4.该问题所分解出的各个子问题是相互独立的,即子问题之间不包含公共的子子问题。

一、整数划分问题。给你一个数,问你所有的划分方式,比如4,4=1+3,4=1+1+2,4=2+2,4=1+1+1+1。我们来分析一下,我们想用分治的话,就要找子问题,假设n是要划分的数,m说最大的加数,n=4,m=3。分解成两类的子问题,一个是:一个是有m的情况,一个是没有m的情况,然后将有m的情况继续划分,分解成有m-1和没有m-1的情况,一直划分下去,直到m=1。比如n=4,m=3,划分成的子问题:有3,无3,有2,无2,有1,无1(没有意义,除非0+4=4),将这些子问题合并起来大问题就解决了。二、求最大连续和。给出一个长度为n的序列A1,A2,A3·····An,求最大连续和。如序列(6,-1 , 5, 4,-7), 该序列中的最大和是6 +( - 1)+ 5 + 4 = 14。基本思路是使用枚举法,三重嵌套循环,时间复杂度为n的三次方。我们来用分治法解决这个问题。1.划分问题:将序列分成元素个数尽可能相等的两半。2.递归求解:分别求出位于左半和右半的最佳序列。3.合并问题:求出起点位于左半,终点位于右半的最大连续和序列,和子问题最优解比较。

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

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

相关文章

TSINGSEE青犀AI智能分析网关V4叉车载货出入库检测算法介绍及应用

随着物流行业的快速发展,叉车作为物流运输的重要设备,其安全性和效率性越来越受到人们的关注。然而,在实际操作中,由于人为因素和操作环境的复杂性,叉车事故时有发生,给企业和个人带来了巨大的损失。为了提…

C语言基础(三)

C语言基础 三大结构顺序结构选择结构单分支选择结构双分支选择结构多分支选择结构if ...else if....elseswitch语句 循坏结构for循环表达式1可以省略吗?表达式2可以省略吗?表达式3可以省略吗?for循坏的嵌套 while循环do while循坏while与do w…

如何下载和安装Google Chrome扩展插件:一步步指南

Google Chrome 插件为我们提供了这样的便利,但有时找到一个有用的插件后,我们可能需要将其下载到本地以便离线使用或备份。 一、为什么可以从Google Chrome商店直接下载插件? Google Chrome 扩展插件主要通过Chrome Web Store分发&#xff…

【python】python基于Pygame扫雷游戏设计实现(源码+报告)【独一无二】

> 👉博__主👈:米码收割机 👉技__能👈:C/Python语言 👉公众号👈:测试开发自动化【获取源码商业合作】 👉荣__誉👈:阿里云博客专家博…

【前端面试3+1】12 toktn验证过程、面向对象特性、webpack和vite的区别、【字符串中的第一个唯一字符】

一、token验证过程 用户登录:用户提供用户名和密码进行登录。服务器验证:服务器接收到用户提供的用户名和密码,进行验证。生成token:如果用户名和密码验证通过,服务器会生成一个token,通常包含一些加密的信…

MQ的应用场景

一、什么是mq? MQ全称 Message Queue(消息队列),是在消息的传输过程中保存消息的容器。多用于分布式系统之间进行通信,解耦。 二、常见的mq产品 RabbitMQ、RocketMQ、ActiveMQ、Kafka、ZeroMQ、MetaMq RabbitMQ: One broker …

清明美食制作|“心灵护航,增能培力”残疾人职业能力提升培养

为提高残疾人的动手能力,提升个人的自身素质和自主就业创业能力,弘扬中华民族传统文化,临近清明之际,淳安县从益舍社会工作服务中心于浪川乡展开了以“品尝春天味道 制作清明粿 清明美食制作”为主题的清明节活动。 【清明粿制作】…

【学习心得】神经网络知识中的符号解释②

我在上篇文章中初步介绍了一些神经网络中的符号,只有统一符号及其对应的含义才能使我自己在后续的深度学习中有着一脉相承的体系。如果对我之前的文章感兴趣可以点击链接看看哦: 【学习心得】神经网络知识中的符号解释①http://t.csdnimg.cn/f6PeJ 一、…

力扣 |142. 环形链表 II

用快慢指针的方法 根据推出的表达式:slow和fast相遇的时候,让slow和位于头节点的p同时 向前走,刚好在入环的节点处相遇!注意:b和c交界的点不一定是从例如-4这个节点处, 可能是0节点处。因为相遇的点只能是…

Linux 系统解压缩文件

Linux系统,可以使用unzip命令来解压zip文件 方法如下 1. 打开终端,在命令行中输入以下命令来安装unzip: sudo apt-get install unzip 1 2. 假设你想要将zip文件解压缩到名为"target_dir"的目录中,在终端中切换到目标路…

day1(Java预学)

typora计算机软硬件cmd方式快捷键dos命令不同时期语言 Markdown文本编辑器-typora 相关快捷键 计算机硬件: CPU 内存 主板 IO设备 冯诺依曼体系结构 系统软件:DOS ,windows,linux,unix,mac,android,max,ios 应用软件:微信,支…

吴恩达深度学习 (week3,4)

文章目录 一、神经网络概述二、神经网络的表示三、神经网络的输出四、多个例子的向量化五、向量化实现的解释六、深度学习激活函数七、激活函数导数八、神经网络的梯度下降法九、深度学习随机初始化十、上述学习总结1、第一题2、第二题3、第三题4、第四题5、第五题6、第六题7、…