拿捏算法的复杂度

目录

前言 

一:算法的时间复杂度

1.定义

2.简单的算法可以数循环的次数,其余需要经过计算得出表达式

3.记法:大O的渐近表示法

表示规则:对得出的时间复杂度的函数表达式,只关注最高阶,其余项和最高阶的系数皆忽略;常数次均有O(1)表示

量级:O(N*N),O(N),O(1),O(2^N),O(logN),O(N*logN)

4.经典实例

二:算法的空间复杂度 

1.概念

2.经典实例


接下来的日子会顺顺利利,万事胜意,生活明朗-----------林辞忧 

前言 

当我们写程序尤其是写OJ题时常常会看见要求时间复杂度和空间复杂度。其实评价一个算法好不好,常常从时间复杂度和空间复杂度两个方面说起,时间复杂度简单来说就是衡量程序跑的快不快空间复杂度就是程序运行时占用空间的大小两个均为数学函数表达式,接下来将详细介绍

一:算法的时间复杂度

1.定义

算法的时间复杂度是一个程序中语句的执行次数关于问题规模的数学函数表达式,通过表达式来确定时间复杂度的量级

2.简单的算法可以数循环的次数,其余需要经过计算得出表达式

3.记法:大O的渐近表示法

表示规则:对得出的时间复杂度的函数表达式,只关注最高阶,其余项和最高阶的系数皆忽略;常数次均有O(1)表示
量级:O(N*N),O(N),O(1),O(2^N),O(logN),O(N*logN)

如:经过计算得出的时间复杂度的函数表达式为F(N)=2*n*n+7*n+3,只关注最高阶则用大O表示法就是O(N*N)

4.经典实例

1.

对于这种较复杂的我们就不能简单数循环,而是要经过计算

 

 

2.

 

对于递归的我们就要画递归展开图 ,每次调用递归展开时间复杂度都是常数次O(1)

3.

 

 

二:算法的空间复杂度 

1.概念

同时间复杂度,主要统计另外开辟变量的个数

2.经典实例

三:分享到此结束

 

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

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

相关文章

BC134 蛇形矩阵

一:题目 二:思路分析 2.1 蛇形矩阵含义 首先,这道题我们要根据这个示例,找到蛇形矩阵是怎么移动的 这是,我们可以标记一下每次移动到方向 我们根据上图可以看出,蛇形矩阵一共有两种方向,橙色…

可调恒定电流稳压器NSI50150ADT4G车规级LED驱动器 提供专业的汽车级照明解决方案

NSI50150ADT4G产品概述: NSI50150ADT4G可调恒定电流稳压器 (CCR) ,是一款简单、经济和耐用的器件,适用于为 LED 中的调节电流提供成本高效的方案(与恒定电流二极管 CCD 类似)。该 (CCR) 基于自偏置晶体管 (SBT) 技术&…

近年来文本检测相关工作梳理

引言 场景文本检测任务,一直以来是OCR整个任务中最为重要的一环。虽然有一些相关工作是端对端OCR工作的,但是从工业界来看,相关落地应用较为困难。因此,两阶段的OCR方案一直是优先考虑的。 在两阶段中(文本检测文本识…

世界上最伟大的商业模式是“让利”,总结10套消费返利玩转市场!

文丨微三云营销总监胡佳东,点击上方“关注”,为你分享市场商业模式电商干货。 - 引言:很多企业家朋友说,生意越来越难做了,市场太卷、同行价格低、难招商、难融资、难推广,其实你是不懂“人心”&#xff…

COMSOL热应力仿真

热应力 热膨胀子节点 热膨胀输入类型 假如直接知道热膨胀大小,可以直接对热应变进行赋值。 约束与载荷 对于自由膨胀,可以添加抑制刚体运动。 案例分析 在参数部分,设定体积参考温度Tref,假定在25[degC]模型无热应变。 APP开发器-…

笔记78:软件包管理工具 apt 详解(包含常用 apt 命令介绍)

一、Ubuntu 的包管理工具 apt 过去,软件通常是从源代码安装的,安装步骤为:​​​​​​ 在Github上下载该软件的源码文件;查看Github上这个软件项目中提供的自述文件(通常包含配置脚本或 makefile 文件)&a…

华容道问题求解_详细设计(四)之查找算法2_BFS

(续上篇) 利用BFS查找,会找到最短路径(没有权重的图),这个道理比较简单,这是由于寻找路径的方法都是从起点或者接近起点的位置开始的。查找过程如果画出图来,类似于一圈圈的放大&…

离线数仓(五)【数据仓库建模】

前言 今天开始正式数据仓库的内容了, 前面我们把生产数据 , 数据上传到 HDFS , Kafka 的通道都已经搭建完毕了, 数据也就正式进入数据仓库了, 解下来的数仓建模是重中之重 , 是将来吃饭的家伙 ! 以及 Hive SQL 必须熟练到像喝水一样 ! 第1章 数据仓库概述 1.1 数据仓库概念 数…

Android Studio下载gradle超时问题解决

方法一 1. 配置根目录的setting.gradle.kts文件 pluginManagement {repositories {maven { urluri ("https://www.jitpack.io")}maven { urluri ("https://maven.aliyun.com/repository/releases")}maven { urluri ("https://maven.aliyun.com/repos…

ULTRAL SCALE FPGA TRANSCEIVER速率

CPLL支持2-6.25速率 QPLL支持速率 实际使用CPLL最高可以超过这个,QPLL最低也可以低于这个,xilinx留的阈量还是比较大。

【Node.js从基础到高级运用】二、搭建开发环境

Node.js入门:搭建开发环境 在上一篇文章中,我们介绍了Node.js的基础概念。现在,我们将进入一个更实际的阶段——搭建Node.js的开发环境。这是每个Node.js开发者旅程中的第一步。接下来,我们将详细讨论如何安装Node.js和npm&#…

STM32 学习10 PWM输出

STM32 学习10 PWM输出 一、PWM简介1. PWM的概念2. PWM的工作原理3. PWM 常用的应用场景 二、一些概念1. 频率2. 占空比 三、STM32F1 PWM介绍1. 定时器与寄存器(1)**自动重装载寄存器(ARR)**:(2)…