拿捏算法的复杂度
目录
前言
一:算法的时间复杂度
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.经典实例

三:分享到此结束
相关文章:
拿捏算法的复杂度
目录 前言 一:算法的时间复杂度 1.定义 2.简单的算法可以数循环的次数,其余需要经过计算得出表达式 3.记法:大O的渐近表示法 表示规则:对得出的时间复杂度的函数表达式,只关注最高阶,其余项和最高阶…...
C语言实战—猜数字游戏(涉及循环和少部分函数内容)
对于前面一些内容的总结 不妨跟着一起试试吧 折半查找算法(二分查找) 比如我买了一双鞋,你好奇问我多少钱,我说不超过300元。你还是好奇,你想知道到底多少,我就让 你猜,你会怎么猜?…...
#define MODIFY_REG(REG, CLEARMASK, SETMASK)
#define MODIFY_REG(REG, CLEARMASK, SETMASK) WRITE_REG((REG), (((READ_REG(REG)) & (~(CLEARMASK))) | (SETMASK))) 这个宏 MODIFY_REG 是在嵌入式编程中,它用于修改一个寄存器的特定位,而不影响其他位。这个宏接受三个参数ÿ…...
使用 Docker 部署 Stirling-PDF 多功能 PDF 工具
1)Stirling-PDF 介绍 大家应该都有过这样的经历,面对一堆 PDF 文档,或者需要合并几个 PDF,或者需要将一份 PDF 文件拆分,又或者需要调整 PDF 中的页面顺序,找到的线上工具 要么广告满天飞,要么 …...
springcloud第3季 项目工程搭建与需求说明1
一 需求说明 1.1 实现结构图 订单接口调用支付接口 二 工程搭建 2.1 搭建工程步骤...
外包干了3个月,技术退步明显。。。。
先说一下自己的情况,本科生,2019年我通过校招踏入了南京一家软件公司,开始了我的职业生涯。那时的我,满怀热血和憧憬,期待着在这个行业中闯出一片天地。然而,随着时间的推移,我发现自己逐渐陷入…...
Redis特性与应用场景
Redis是一个在内存中存储数据的中间件,用于作为数据库,用于作为数据缓存,在分布式系统中能够发挥重要作用。 Redis的特性 1.In-memory data structures: MySQL使用表的方式存储数据,这意味着数据通常存储在硬盘上,并且…...
openssl3.2 - exp - 可以在命令行使用的口令算法名称列表
文章目录 openssl3.2 - exp - 可以在命令行使用的口令算法名称列表概述笔记测试工程实现备注整理 - 总共有126种加密算法可用于命令行参数的密码加密算法备注END openssl3.2 - exp - 可以在命令行使用的口令算法名称列表 概述 上一个笔记openssl3.2 - exp - PEM <…...
模板不存在:./Application/Home/View/OnContact/Index.html 错误位置
模板不存在:./Application/Home/View/OnContact/Index.html 错误位置FILE: /home/huimingdedhpucixmaihndged5e/wwwroot/ThinkPHP123/Library/Think/View.class.php LINE: 110 TRACE#0 /home/huimingdedhpucixmaihndged5e/wwwroot/ThinkPHP123/Library/Think/View.class.php(…...
复杂的数据类型如何转成字符串!
1.首先,会调用 valueOf 方法,如果方法的返回值是一个基本数据类型,就返回这个值, 如果调用 valueOf 方法之后的返回值仍旧是一个复杂数据类型,就会调用该对象的 toString 方法, 如果 toString 方法调用之后…...
云原生构建 微服务、容器化与容器编排
第1章 何为云原生,云原生为何而生 SOA也就是面向服务的架构 软件架构的发展主要经历了集中式架构、分布式架构以及云原生架构这几代架构的发展。 微服务架构,其实是SOA的另外一种实现方式,属于SOA的子集。 在微服务架构下,系统…...
JavaSE——面向对象高级一(2/4)-饿汉式单例、懒汉式单例、代码块、static的注意事项
目录 static的注意事项 static相关:代码块 单例设计模式 饿汉式单例 懒汉式单例 static的注意事项 类方法中可以直接访问类的成员,不可以直接访问实例成员。 public class Student{//定义一个类变量和一个实例变量static String schoolName;int s…...
排序之冒泡排序
通过连续地比较与交换相邻元素实现排序。这个过程就像气泡从底部升到顶部一样,因此得名冒泡排序。 流程: 首先,对 n 个元素执行“冒泡”,将数组的最大元素交换至正确位置。接下来,对剩余 n−1 个元素执行“冒泡”&…...
【NR技术】 3GPP支持无人机服务的关键性能指标
1 性能指标概述 5G系统传输的数据包括安装在无人机上的硬件设备(如摄像头)收集的数据,例如图片、视频和文件。也可以传输一些软件计算或统计数据,例如无人机管理数据。5G系统传输的业务控制数据可基于应用触发,如无人机上设备的开关、旋转、升…...
Day29:安全开发-JS应用DOM树加密编码库断点调试逆向分析元素属性操作
目录 JS原生开发-DOM树-用户交互 JS导入库开发-编码加密-逆向调试 思维导图 JS知识点: 功能:登录验证,文件操作,SQL操作,云应用接入,框架开发,打包器使用等 技术:原生开发&#x…...
Python爬虫——scrapy-4
目录 免责声明 目标 过程 先修改配置文件 再修改pipelines.py 最后的结果是这样的 read.py pipelines.py items.py settings.py scrapy日志信息以及日志级别 settings.py文件设置 用百度实验一下 指定日志级别 WARNING 日志文件 注意 scrapy的post请求 简介 …...
美团春招编程第一场第三题
美团春招编程第一场第三题 题目 解答 思路-暴力解法 pair中存储从原点到包含当前元素的0,1数量,得到二维数组mat; 从头到尾遍历尺寸为i*i的矩形,计算完美矩形数量 #include <iostream> #include <vector> using namespace std;int main()…...
BulingBuling - 《金钱心理学》 [ The Psychology of Money ]
金钱心理学 摩根-豪泽尔 关于财富、贪婪和幸福的永恒课程 The Psychology of Money Morgan Housel Timeless Lessons on Wealth, Greed, and Happiness 内容简介 [ 心理学 ] [ 金钱与投资 ] Whats it about? [ Psychology ] [ Money & Investments ] 《金钱心理学》&…...
急速建立网站方法
急速建立网站方法 WordPress: 简介: WordPress是一种广泛用于建设博客、网站的免费开源内容管理系统(CMS)。它具有友好的用户界面和丰富的插件生态系统,使得用户可以轻松创建和管理网站。特点: 主题和插件支…...
Java EE之wait和notify
一.多线程的执行顺序 由于多个线程执行是抢占式执行,就会导致顺序不同,同时就会导致出现问题,就比如俩个线程同时对同一个变量进行修改,我们难以预知执行顺序。 但在实际开发中,我们希望代码按一定的逻辑顺序执行&am…...
手把手教你学Simulink——基于Simulink的故障诊断:绕组短路、霍尔失效、IGBT开路
目录 手把手教你学Simulink ——基于Simulink的故障诊断:绕组短路、霍尔失效、IGBT开路 一、引言:为何需要主动式故障诊断? 二、系统架构设计 三、故障建模与诊断方法详解 第一大挑战:绕组短路(以PMSM匝间短路为例…...
手动离线部署Ollama:绕过网络限制的完整指南
1. 为什么需要手动离线部署Ollama 最近在帮团队搭建本地AI开发环境时,遇到了一个典型问题:官方提供的Ollama安装脚本执行起来像蜗牛爬行,经常卡在下载环节。这种情况在国内开发者中相当普遍,主要原因包括网络延迟、下载速度限制等…...
UDS BootLoader实战:从安全访问到完整性校验的架构精解
1. UDS BootLoader的核心价值与挑战 第一次接触车载ECU刷写时,我被4S店技师拿着诊断仪"滴"一声就完成软件升级的场景震撼了。这背后正是UDS BootLoader在发挥作用——它就像汽车电子系统的"心脏起搏器",既要确保系统在任何异常状态下…...
caj2pdf终极指南:三步解决知网CAJ文献转换难题
caj2pdf终极指南:三步解决知网CAJ文献转换难题 【免费下载链接】caj2pdf Convert CAJ (China Academic Journals) files to PDF. 转换中国知网 CAJ 格式文献为 PDF。佛系转换,成功与否,皆是玄学。 项目地址: https://gitcode.com/gh_mirror…...
从手机‘无损放大’到AI修老照片:聊聊上采样技术在我们身边的那些‘神奇’应用
从手机‘无损放大’到AI修老照片:上采样技术如何重塑我们的视觉体验 每次翻看老照片时,你是否也幻想过能像科幻电影那样轻轻一点就让模糊的影像变得清晰?如今这个魔法已经走进现实——当你用手机相册的"超清画质"功能修复旧照&…...
MTF曲线解析:如何通过调制传递函数优化镜头性能
1. 从拍照模糊说起:为什么需要MTF曲线? 每次看到手机或相机拍出的照片边缘模糊,我都会忍不住想:到底是镜头不行,还是我的手抖了?后来接触MTF曲线才发现,原来镜头成像质量早就有科学的量化方法。…...
G-Helper深度解析:华硕笔记本性能调优的轻量级神器
G-Helper深度解析:华硕笔记本性能调优的轻量级神器 【免费下载链接】g-helper Lightweight, open-source control tool for ASUS laptops and ROG Ally. Manage performance modes, fans, GPU, battery, and RGB lighting across Zephyrus, Flow, TUF, Strix, Scar,…...
技术模板方法中的步骤定义与扩展点
技术模板方法中的步骤定义与扩展点 在软件开发中,模板方法模式是一种常见的设计模式,它通过定义算法的骨架,允许子类在不改变结构的情况下重写某些步骤。这种模式的核心在于将固定流程与可扩展点分离,既保证了代码的复用性&#…...
CubiFS开发依赖管理:Go模块与版本控制终极指南
CubiFS开发依赖管理:Go模块与版本控制终极指南 【免费下载链接】cubefs cloud-native distributed storage 项目地址: https://gitcode.com/gh_mirrors/cu/cubefs CubiFS作为一款cloud-native distributed storage系统,其开发依赖管理对于项目稳定…...
ide-eval-resetter:为什么这款工具能成为JetBrains开发者评估期的智能管家?
ide-eval-resetter:为什么这款工具能成为JetBrains开发者评估期的智能管家? 【免费下载链接】ide-eval-resetter 项目地址: https://gitcode.com/gh_mirrors/id/ide-eval-resetter 在软件开发团队的日常工作中,JetBrains IDE的30天试…...
