首页 > 编程语言 >算法分析笔记----wsdchong

算法分析笔记----wsdchong

时间:2022-10-26 11:37:27浏览次数:51  
标签:函数 递归 求解 ---- 算法 wsdchong 计算 方法


时间:2018/12/20

一、算法概述

什么是算法

1.算法:为一个计算的具体步骤;常用于计算、数据处理、推理等

性质:有限、确定、可行、输入、输出;

目的:解决问题(问题定义了输入和输出)

2.例子:割圆术、四则运算、快速排列、最小生成树、求最大公因子算法;

算法的位置

1计算机体系:

可计算否—>能行可计算否—>算法设计与分析—>计算机语言实现—>软件系统

2可计算理论:计算模型、可计算问题、计算模型的等价性

3.计算复杂性理论:

算法分析引论

1.正确性:程序调试只能证明有错,而程序的正确性需要归纳证明

2.复杂性分析:

目的:预测算法对不同输入所需资源量;

复杂性测度:时间(步数)、空间、I/O等,是输入大小的函数;

用途:为求解一个问题选择最佳算法;

需要的数学基础:离散数学、组合数学、概率论、代数等

需要的数学能力:建立数学模型、化简数学模型

3. 时间复杂性(步骤数)

算法设计引论

1.算法设计模式:暴力搜索、分治法、图搜索与枚举、随机化方法;

2.算法实现方法:递归与迭代、串行与并行、确定性与非确定性、近似求解与精确求解;

3.最优化算法设计方法:线性规划、动态规划、贪心法、启发式方法

二、算法分析的数学基础

计算复杂性函数的阶

1.增长的阶:描述增长率

2.增长函数:典型的增长阶(1,n,n!,lg n)

3.增长的记号:同阶函数集合、低阶函数集合、高阶函数集合、严格低阶函数、严格高阶函数集合

4.渐进符号的性质:传递性、自反性、对称性、反对称性

和式的估计与界限

1.线性和

2.级数

3.和的界限:直接求和的界限

递归方程

1.概念:使用小的输入值来描述一个函数的方程或不等式;

2.求解递归方程的方法:替换方法、迭代方法、master定理方法

3.替换方法:提出猜想(上下界猜测),用数学归纳法证明

4.迭代方法:将方程转化为和式,用估计和的方法求解、

三、分治算法

分治法

1.设计过程:划分、求解、合并(自顶向下)

实例

1.大整数乘法:划分

算法分析:建立递归方程、使用master定理得出T(n)=O(n)

2.最大值和最小值:归并排序

元素提取问题的线性时间算法

1.中位数问题定义:比较操作次数的上下界

2.线性时间选择:分组、排序、递归调用算法、MOM划分、递归

快速傅里叶变换

四、动态规划

基本原理

1.子问题重叠:自底向上的计算

2.优化子结构、重叠子问题

矩阵乘法问题

最长公共子序列问题

五、贪吃算法

贪心法的基本原理

1.每一步只有一组选择;每次做出当前最好的选择;(希望通过局部优化选择达到全局优化选择)

任务安排问题

哈夫曼编码问题

六、搜索策略

暴力美学:搜索

深度优化与广度优化

搜索的优化

标签:函数,递归,求解,----,算法,wsdchong,计算,方法
From: https://blog.51cto.com/u_15847108/5797522

相关文章

  • 网站开发的基础知识笔记--wsdchong
    时间:2020/4/21前言:对HTTP的了解、对cookie和session的了解、response和request对象的了解一、对HTTP的了解1概述:HTTP(超文本传输协议Hypertexttransferprotocol)。超文本:不......
  • 实验7:基于REST API的SDN北向应用实践
    目录一、实验目的二、实验环境三、实验要求(一)基本要求编写Python程序,调用OpenDaylight的北向接口实现以下功能(1)利用Mininet平台搭建下图所示网络拓扑,并连接OpenDaylight;(2)......
  • 优秀开源云原生工具推荐 -- 系列3
     云原生技术在效率上的巨大优势,使其日益成为IT发展的主流趋势。根据Gartner的预测,到2025年,云原生平台将成为95%以上的新数字化计划的基础。围绕云原生中的各个方面,都有这非......
  • 由DELPHI注解引发的讨论
    由DELPHI注解引发的讨论有人问,这是什么意思有知道的吗?  DELPHI可以通过这种《注解》自动生成SWAGGER接口。这种注解 也有标准和语法的,是DELPHI抄JAVA它们的。......
  • 前端后端知识体系理解--wsdchong
    时间:2020/4/21前言:对前端的理解、对后端的理解、基于Java的前后端、基于node.js、基于PHP。认识具有反复性和无限性。这是我之前2020/4/13对前后端的理解:前后端学习框架在变......
  • Demo48_还原稀疏数组
    //还原稀疏数组packagecom.HuanXin.array_6;publicclassDemo09_01{publicstaticvoidmain(String[]args){int[][]AA=newint[7][7];AA[1][1]=......
  • 用SSM框架开发新闻发布管理系统笔记--wsdchong
    前言:在整合三大框架的基础上实现系统后台的用户管理、用户登录、登录验证、新闻发布管理。前台页面使用jQuery+bootstrap框架完成新闻展示;一、系统概述1系统功能需求:用户管......
  • YOLO V1理论合集
    YOLOV1前言​ 本文主要讲以下几个方面:YOLOV1介绍、预测阶段、后处理、YOLOV1训练阶段以及YOLOV1的局限性。YOLO介绍​ 针对目标检测问题,之前的检测方法通常都转变为......
  • SpringMVC学习笔记--wsdchong
    前言:SpringMVC入门、SpringMVC数据绑定、JSON数据交互和RESTful支持、拦截器、SSM框架整合、一、SpringMVC入门1SpringMVC是spring提供的一个轻量级web框架,实现了webMVC设计......
  • Condition
    @Conditional是Spring4版本新提供的一种注解,它的作用是按照设定的条件进行判断,把满足判断条件的bean注册到Spring容器。翻译为了注册组件,必须匹配的单一条件。 在注......