算法思想_常见四种

文章目录

  • 常用算法思想描述
    • 穷举算法思想
      • 1. 基本思想
      • 2. 步骤
      • 3.实例
    • 递推算法
      • 1. 基本思想
      • 2. 步骤
      • 3. 实例
    • 递归算法
      • 1. 基本思想
    • 2. 步骤
      • 3. 实例
    • 1. 分治算法
      • 1. 基本思想
      • 2. 步骤
      • 3. 实例
    • 概率算法
      • 1. 基本思想
      • 2. 步骤
      • 3. 实例
    • 如果还有时间,将继续更新

常用算法思想描述

穷举算法思想

  1. 依赖于计算机的强大计算能力,来计算每一种可能的情况,从而解决问题,穷举法效率不是很高,但是使用以没有明显规律的场合

1. 基本思想

  1. 就是从所有可能的情况中搜索正确的答案

2. 步骤

  1. 对于一种可能的情况,计算其结果
  2. 判断结果是否满足要求,如果不满足执行第一步,搜索下一个可能的情况
  3. 需要明确指定答案的范围,通过循环和条件语句来确定最终答案

3.实例

  1. 鸡兔同笼问题

递推算法

1. 基本思想

  1. 是一种理性思维模式的代表,其根据已有的数据和关系,逐步推导而得到结果。
  2. 需要用户知道准去的答案和问题之间的逻辑关系,例如数学计算的公式一样

2. 步骤

  1. 根据已知结果和关系,求解中间结果
  2. 判断是否达到要求,如果没有达到,继续求解,如果满足,怎么表示找到准确答案

3. 实例

  1. 兔子产仔

递归算法

1. 基本思想

  1. 递归算法就是不断调用自身,来达到求解问题的方法,
  2. 要求 待求解的问题,是可以分解为相同的问题的一个子问题
  3. 分类
    1. 直接递归——直接在方法中调用本身
    2. 间接递归——间接调用一个方法,例如 a 调用b,b调用c,c调用a。。这种用的不多

2. 步骤

  1. 就是相当于数据的阶乘一样

3. 实例

  1. 阶乘

1. 分治算法

1. 基本思想

  1. 是将 计算复杂的问题分为规模较小、计算简单的小问题求解,然后综合各个小问题的答案,最后得到问题答案

2. 步骤

  1. 对于一个规模为n的问题,(不能直接容易求解) ,
  2. 将问题分解为M个规模较小的子问题,子问题相互独立,并且与原问题形式相同
  3. 递归解决问题
  4. 然后综合

3. 实例

  1. 寻找假币

概率算法

1. 基本思想

  1. 通过概率统计来求解问题,但是不能求解精准答案,
  2. 概率算法分为:
    1. 数值概率
    2. 蒙特卡罗(Monte Carlo)
    3. 拉斯维加斯(Las Vegas)
    4. 舍伍德(Sherwood)

2. 步骤

  1. 将问题 转化为几何图形$S ,通过图形面积计算,,,问题的结果往往是几何图形的某一部分,通过图形面积计算,,,问题的结果往往是几何图形的某一部分S1$的面积
  2. 然后,向几何图形随机撒点
  3. 统计几何图形SSS,S1S1S1 的点数,通过面积关系和点数来计算结果
  4. 判断上面结果是不是需要精度之内,如果不是重复步骤2

3. 实例

  1. 蒙特卡罗计算圆周率

如果还有时间,将继续更新

转载于:https://www.cnblogs.com/YJBlog/p/11054527.html

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

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

相关文章

[转] 做个自强不息的青年

人的出生和际遇本身造就了每个人的道路都不同,对于青年人来说,如何能够面对逆顺,如何面对起伏,如何能够正确设定理想并为之激发生命的火焰,在持续的奋斗中不断提升自我,自强不息而自立利他?在与…

commonJS — 全局操作(for Window)

for Window github: https://github.com/laixiangran/commonJS/blob/master/src/forWindow.js 代码 /*** Created by laixiangran on 2016/1/24* homepage:http://www.cnblogs.com/laixiangran/* for Window*/ (function() {var com window.COM window.COM || {}…

点击返回上一页失效

点击取消的时候&#xff0c;返回上一页&#xff0c;没有效果&#xff0c;仍然停留在当前页&#xff0c;还报500&#xff1b;改成window.history.go(-1)也不生效 代码&#xff1a; <button class"st-btn-normal st-btn-cancel cancle" onclick"javascript:wi…

如何通过7个Logback调整立即改善Java日志记录

基准测试可帮助您发现Logback在压力下的性能 日志记录对于服务器端应用程序是必不可少的&#xff0c;但这是有代价的。 令人惊讶的是&#xff0c;微小的更改和配置调整对应用程序的日志记录吞吐量有多大影响。 在这篇文章中&#xff0c;我们将根据每分钟的日志条目对Logback的性…

JS中的编码

今天发现我输入的中文变成了另外一种格式&#xff0c;查了一下&#xff0c;原来是转换成了数字编码。在这里介绍一下数字编码和base64&#xff0c;做个记录 1.出现原因&#xff1a;在开发中经常需要对用户输入的数据进行编码然后才能通过HTTP请求发送给后台&#xff0c;或者对…

commonJS — DOM操作(for DOM)

for DOM github: https://github.com/laixiangran/commonJS/blob/master/src/forDOM.js 代码 /*** Created by laixiangran on 2016/1/24* homepage&#xff1a;http://www.cnblogs.com/laixiangran/* for DOM*/(function(undefined) {var com window.COM window.COM || {};…

deMeer5_Attacker

SoccerCommand Player::deMeer5_Attacker(){SoccerCommand soc(CMD_ILLEGAL);if (WM->isBeforeKickOff()){if (formations->getFormation() ! FT_INITIAL || //不在开球的阵型 WM->getAgentGlobalPosition().getDistanceTo(WM->getStrategicPosition()) > 2.…

【Flutter】解决依赖版本冲突

为什么会存在版本依赖问题 我们在开发flutter项目中&#xff0c;常常会依赖第三方库。flutter依赖项越多&#xff0c;就越有可能出现依赖版本冲突。 Because new_trend depends on build_runner >0.9.0 which requires SDK version >2.0.0-dev.61 <3.0.0, version sol…

安装vue-cli时报错

今天用npm安装vue-cli时一直报错&#xff0c;后面百度说用cnpm重装&#xff0c;结果还是报错&#xff0c;后面找到一个博主的&#xff0c;说是vue升级的原因&#xff0c;vue init webpack hello-world 已经替换为 vue create hello-world npm install -g vue/cli-init # vue…

从JPA到Hibernate的旧版和增强型标识符生成器

JPA标识符生成器 JPA定义了以下标识符策略&#xff1a; 战略 描述 汽车 持久性提供程序选择基础数据库支持的最合适的标识符策略 身份 标识符由数据库IDENTITY列分配 序列 持久性提供程序使用数据库序列来生成标识符 表 持久性提供程序使用单独的数据库表来模拟序列对…

快速了解AngularJs HTTP响应拦截器

任何时候&#xff0c;如果我们想要为请求添加全局功能&#xff0c;例如身份认证、错误处理等&#xff0c;在请求发送给服务器之前或服务器返回时对其进行拦截&#xff0c;是比较好的实现手段。 angularJs通过拦截器提供了一个从全局层面进行处理的途径。 四种拦截器 实现 req…

U盘专杀工具,U盘防御软件,U盘病毒防火墙--UDiskSyS

近来闲聊无事&#xff0c;写了一款专门针对U盘的防御软件&#xff0c;U盘插入后自动扫描并清除病毒并还原被感染的文件。是常见的文件夹伪装病毒&#xff0c;死亡应答病毒&#xff0c;exe感染型病毒的克星。UDiskSyS不像那些所谓的正规杀毒软件遇到搞不定的病毒统统删除之&…

CenterNet算法笔记(目标检测论文)

论文名称&#xff1a;CenterNet: Keypoint Triplets for Object Detectiontection 论文链接&#xff1a;https://arxiv.org/abs/1904.08189 代码链接&#xff1a;https://github.com/Duankaiwen/CenterNet 简介 该论文是由中科院&#xff0c;牛津大学以及华为诺亚方舟实验室联合…

git提交代码时报错:nothing added to commit but untracked files present

原因&#xff1a; git没有把提交的文件加载进来&#xff0c;报红色的是需要提交的文件&#xff0c; 解决步骤&#xff1a; 用git add XXX(文件名) 把提示报红色的文件加上git commit -m “xx”git push -u origin master重新提交就可以了

VSS使用手册

1 VSS概述 版本控制是工作组软件开发中的重要方面&#xff0c;它能防止意外的文件丢失、允许反追踪到早期版本、并能对版本进行分支、合并和管理。在软件开发和您需要比较两种版本的文件或找回早期版本的文件时&#xff0c;源代码的控制是非常有用的。Visual SourceSafe 是一种…

语句和函数

1.for-in语句&#xff1a;是一种精准的迭代语句&#xff0c;可以用来枚举对象的属性。 2.label语句&#xff1a;在代码中添加标签&#xff0c;以便将来使用&#xff0c;由break和continue语句调用。3.with语句&#xff1a;将代码的作用域设置到一个特定的对象中。一般不建议过多…

服务器与客户端渲染(AngularJS与服务器端MVC)

关于服务器与客户端应用程序渲染的讨论很多。 虽然没有“一刀切”的解决方案&#xff0c;但我将尝试从不同的角度主张客户端&#xff08;特别是AngularJS&#xff09;。 首先是建筑。 建筑 做得好的架构已经明确定义了关注点分离&#xff08;SoS&#xff09; 。 在大多数情况下…

MySQL 数据类型简介 创建数据表及其字段约束

数据类型介绍 MySQL 数据类型分类 整型浮点型字符类型(char与varchar)日期类型枚举与集合具体数据类型见这篇博客 MySQL表操作中的约束 primary key 主键约束 非空唯一unique key 唯一约束not null 非空约束foreign key 外键约束创建表的的语法 CREATE TABLE[IF NOT EXISTS] tb…

elementUI的container布局设置全屏宽度

进用element UI的 container 布局&#xff0c;发现不能全屏铺满 添加了一行代码&#xff1a; .el-container{height:100%;padding:0;margin:0;width:100%;}发现高度占满全屏&#xff0c;但是宽度还没有 继续给 html,body加了 width&#xff1a;100%&#xff1b;还是没有任何…

【转】首次敏捷项目开发实践

首次采用敏捷方式进行开发&#xff0c;我想把我们的做法与大家分享下&#xff0c;同时希望大家指出我们的不足和需要改进的地方&#xff0c;让我们的项目进行的更顺利&#xff0c;目前项目已过三分之一&#xff0c;客户比较满意&#xff0c;还算顺利。项目简介&#xff1a;一个…