算法的渐进时间复杂度

news2024/11/20 11:45:16

T(n) = O(F(n))

T(n):Time 渐进时间复杂度

O:正比例关系

F(n):代码执行次数

只要代码执行的次数越来越多 所耗费的时间也就越来越高

常见的5种:

O(n^2)

O(n logn)

O(n)

O(logn)

O(1):不管重复多少次1次也是这个时间,10次也是这个时间。

时间复杂度排序:由小到大依次:

1.O(1)常数复杂度

2.O(logn)对数复杂度

3.O(n)线性时间复杂度

4.O(n logn)线性对数时间复杂度

5.O(n^2)平方

6.O(n^3)立方

7.O(2^n)指数

8.O(n!)阶乘

以选择排序为例

每次遍历把最小的放到最前面

第二次只要遍历N-1个数,以此类推

需要看N+N-1+N-2+……+N-N+1眼,

比N+N-1+N-2+……+N-N+1次,

交换N次

等差数列公式:有n²项

只要高阶项 且忽略高阶项系数得到选择排序算法时间复杂度O(n^2)

当时间复杂度都是同一级别时,只有实际去跑才知道谁更快,因为每个操作加减乘除花的时间无法用理论去估计

ab快速交换的代码【无需额外变量】

前提a和b的内存地址不能一样!!!! 否则会洗成0 因为自己和自己异或

也就是说数组中 a和b不能是同一个位置

a = a^b;
b = a^b;
a = a^b;

就算 a和b相等 也是能交换成功的

伪代码:

1.O(1)常数复杂度:

①【数组寻址】

②public void m1(){

sout("====hello!");

}

2

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

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

相关文章

关于如何在BIOS中设置引导顺序,看这篇文章就差不多了

前言 更改计算机上“可引导”设备(如USB端口、软盘驱动器或光盘驱动器中的硬盘驱动器或可引导介质)的引导顺序非常容易。 为什么要更改引导顺序 有几个场景需要更改引导顺序,例如启动一些数据销毁工具和可引导防病毒程序,以及安装操作系统。 BIOS设置实用程序用于更改引…

鸿蒙Harmony应用开发—ArkTS声明式开发(基础手势:ScrollBar)

滚动条组件ScrollBar,用于配合可滚动组件使用,如List、Grid、Scroll。 说明: 该组件从API Version 8开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。 子组件 可以包含单个子组件。 接口 ScrollBar(val…

C++ 入门篇

目录 1、了解C 2、C关键字 2、命名空间 2.1 命名空间的定义 2.2 命名空间的使用 3. C输入与输出 4.缺省参数 4.1 缺省参数的概念 4.2 缺省参数的分类 5. 函数重载 5.1 函数重载的概念 5.2 C中支持函数重载的原理--名字修饰 6. 引用 6.1 引用概念 6.2 引用…

【Miniconda】Linux系统中 .condarc 配置文件的位置一般在哪里

【Miniconda】Linux系统中 .condarc 配置文件的位置一般在哪里 🌈 个人主页:高斯小哥 🔥 高质量专栏:Matplotlib之旅:零基础精通数据可视化、Python基础【高质量合集】、PyTorch零基础入门教程👈 希望得到…

Elasticsearch 索引库操作 文档操作

索引库就类似数据库表,mapping映射就类似表的结构。要向es中存储数据,必须先创建“库”和“表”。 mapping映射属性 mapping是对索引库中文档的约束,常见的mapping属性包括: type: 字段数据类型,常见的简…

CSS3技巧38:3D 翻转数字效果

博主其它CSS3 3D的文章: CSS3干货4:CSS中3D运用_css 3d-CSDN博客 CSS3干货5:CSS中3D运用-2_中3d-2-CSDN博客 CSS3干货6:CSS中3D运用-3_css3d 使用-CSDN博客 最近工作上烦心的事情太多,只有周末才能让我冷静一下 cod…

黑群晖: 未在 DS918+ 中检测到硬盘 之 解决方案

黑群晖: 未在 DS918 中检测到硬盘 之 解决方案 操作如下: 进入BIOS,将sata operation 设置为 AHCI 即可

ARMv8架构特殊寄存器介绍-0

一、zero 寄存器 零寄存器用作源寄存器时读取零,用作目标寄存器时丢弃结果。您可以在大多数指令中使用零寄存器,但不是所有指令。二、sp寄存器 在ARMv8架构中,要使用的堆栈指针的选择在某种程度上与Exception级别。默认情况下,异…

套利 19个ETH 案例二解析

交易时间 2024.03.10 ; 获利:19eth 套利交易地址: 0x4a3e5209877755c293b39b6cdc9414195cf7c951cd7a36bea426ded224f1b337 交易流程看着比较复杂: 实际核心获利的部分就是第4行的交易和第7行的交易,也是利用了2个交易…

【OceanBase诊断调优】—— 敏捷诊断工具obdiag一键分析OB集群日志设计与实践

最近总结一些诊断OCeanBase的一些经验,出一个【OceanBase诊断调优】专题,也欢迎大家贡献自己的诊断OceanBase的方法。 1. 前言 obdiag定位为OceanBase敏捷诊断工具。1.2版本的obdiag支持诊断信息的一键收集,光有收集信息的能力,…

Ubuntu 安装 KVM 虚拟化

1. Ubuntu 安装 KVM 虚拟化 KVM 是 Linux 内核中一个基于 hypervisor 的虚拟化模块,它允许用户在 Linux 操作系统上创建和管理虚拟机。 如果机器的CPU不支持硬件虚拟化扩展,是无法使用KVM(基于内核的虚拟机)直接创建和运行虚拟机的。此时最多只能使用…

JavaScript进阶:js的一些学习笔记-4

文章目录 1. 拷贝1. 浅拷贝2. 深拷贝 2. 异常处理 1. 拷贝 这里指的拷贝是指拷贝引用类型的数据(对象) 1. 浅拷贝 拷贝对象:Object.assign() 或者 {…obj} 展开运算符 const obj {name:liuze,age:23 } const o {...obj}; o.age 22; console.log(o); console.…

双路控制比例方向阀放大器

该模块比例放大器用于控制一个带有两个螺线管的比例方向控制阀或一个/两个独立的比例压力阀或比例节流阀,每个阀带有一个或二个螺线管。 各种可调参数允许对相应阀门的最佳适应。单路双路四路控制,供电24VDC,输入指令兼容多种可选&#xff0c…

前端基础——HTML傻瓜式入门(1)

该文章Github地址:https://github.com/AntonyCheng/html-notes 在此介绍一下作者开源的SpringBoot项目初始化模板(Github仓库地址:https://github.com/AntonyCheng/spring-boot-init-template & CSDN文章地址:https://blog.c…

【Qt】QT串口接收一帧数据有时候不完整,需要接收两次

1. 现象 //正常数据 Read: "12345678901234567890123456789012345678901234567890" //异常数据 Read: "12345678901234567890123456789012" Read: "345678901234567890"2. 问题代码 #include "serialbase.h"QString seria…

声卡喊话IP喇叭,IP网络吸顶天花喇叭

声卡喊话IP喇叭,IP网络吸顶天花喇叭 SV-7043VP是一款ip/sip网络吸顶喇叭,具有10/100M以太网接口,从网络接口接收网络的音频数据后播放。本网络吸顶喇叭可以与其他广播主机、服务器软件和采播主机配合使用,实现音频的播放&#xf…

leetCode刷题 14. 最长公共前缀

目录 1. 思路 2. 解题方法 3. 复杂度 4. Code 题目: 编写一个函数来查找字符串数组中的最长公共前缀。 如果不存在公共前缀,返回空字符串 ""。 示例 1: 输入:strs ["flower","flow","fli…

docker容器技术基础入门-1

文章目录 容器(Container)传统虚拟化与容器的区别Linux容器技术Linux NamespacesCGroupsLXCdocker基本概念docker工作方式docker容器编排 容器(Container) 容器是一种基础工具;泛指任何可以用于容纳其他物品的工具,可以部分或完全封闭,被用于…

利用express从0到1搭建后端服务

目录 步骤一:安装开发工具步骤二:安装插件步骤三:安装nodejs步骤四:搭建启动入口文件步骤五:启动服务器总结 在日常工作中,有很多重复和繁琐的事务是可以利用软件进行提效的。但每个行业又有自己的特点&…

springboot“鼻护灵”微信小程序的设计与开发

摘 要 伴随着我国社会的发展,人民生活质量日益提高。于是对各种需求进行规范而严格是十分有必要的,所以许许多多的微信小程序应运而生。此时单靠人力应对这些事务就显得有些力不从心了。所以本论文将设计一套“鼻护灵”微信小程序,帮助医生进…