时间复杂度计算方法以及常见题型

news2024/9/23 3:29:42

时间复杂度是衡量算法运行时间随输入规模增长而增长快慢的一种度量方式。它并不是指算法在特定硬件上的实际运行时间,而是算法在理想环境下执行时间的增长趋势。计算时间复杂度时,我们主要关注算法中执行次数最多的操作(即基本操作),并忽略常数项和低阶项。

以下是一些常见的时间复杂度计算方法:

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

如果算法中基本操作的执行次数与输入规模n成正比,则称该算法具有线性时间复杂度。例如,遍历一个长度为n的数组。

2. 对数时间复杂度 O(log n)

如果算法的时间复杂度与输入规模n的对数成正比,则称该算法具有对数时间复杂度。这类算法通常涉及到二分查找等算法。

3. 平方时间复杂度 O(n^2)

如果算法的时间复杂度与输入规模n的平方成正比,则称该算法具有平方时间复杂度。这类算法常见于嵌套循环结构,每个循环的迭代次数都与n相关。

4. 指数时间复杂度 O(2^n)

如果算法的时间复杂度是指数级的,即与2的n次方成正比,那么该算法在处理大规模数据时将会非常低效。这类算法通常不用于处理大规模数据。

5. 常数时间复杂度 O(1)

如果算法的执行时间不随输入规模n的增加而增加,则称该算法具有常数时间复杂度。例如,访问数组中的某个特定位置的元素。

6. 复合时间复杂度

有些算法的时间复杂度可能包含多种时间复杂度的组合,如O(n + log n)、O(n^2 * log n)等。对于这类算法,我们通常关注其中最高阶的项,因为它决定了算法在大规模输入下的性能。

计算方法

  • 找出算法中的基本操作:算法中执行次数最多的操作。
  • 计算基本操作执行次数:通常与输入规模n有关,可能通过数学归纳法、递归式等方法求解。
  • 忽略常数项和低阶项:只保留最高阶项,并忽略其系数。
  • 使用大O表示法:将计算结果表示为O(f(n))的形式,其中f(n)是算法执行时间关于n的函数。

问1:
请添加图片描述

分析:

  1. 在white循环下入被不断乘以2最终当x乘的n个2后达到平衡
  2. 消去x,替换n”使得等式两边成立
  3. 得到最终结果O(log(n)))
    请添加图片描述问2 :
    请添加图片描述
    分析:!这里定义了一个fart函数,然后传入n。
    也就是说循环次数取决于几小规模
    2.当n<= 1时反回,程序结束,不然则一直循
    环执行直到n值为1.
    3.结合上述,也就是说最终结果应为n!,执行
    次数实际上也就是n次
    请添加图片描述

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

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

相关文章

算法板子:匈牙利算法——二分图的最大匹配

目录 1. 基础概念 &#xff08;1&#xff09;二分图的概念 &#xff08;2&#xff09; 匈牙利算法的作用 2. 代码 1. 基础概念 &#xff08;1&#xff09;二分图的概念 顶点集 V 分为两个集合&#xff0c;且图中每条边依附的两个顶点都分属于这两个子集&#xff0c;也就是第…

了解反向代理如何工作吗?

在当今数字化时代&#xff0c;网络通讯扮演着重要的角色&#xff0c;而代理技术为网络通讯提供了更多的灵活性和安全性。作为两种重要的代理技术&#xff0c;代理服务器和反向代理的运行原理和用途各有不同。本文将重点介绍反向代理的运行原理&#xff0c;深入探讨其在网络通讯…

运动耳机哪款好?多方位实测五大风靡网络的爆款,第一款竟然连奥运冠军都在用

随着健康意识的提升&#xff0c;将骨传导耳机作为运动伴侣的国人日益增多&#xff0c;其市场年度销售额已突破新高。然而&#xff0c;作为深耕运动装备领域多年的专家&#xff0c;我深感有责任告诫广大运动爱好者&#xff0c;在选择骨传导耳机时&#xff0c;务必保持警惕&#…

PD虚拟机共享文件夹 PD虚拟机共享蓝牙设备怎么设置 PD虚拟机如何共享文件

PD虚拟机&#xff08;Parallels Desktop&#xff09;是为有双系统使用需求人士设计的Mac系统软件。PD虚拟机可以在Mac电脑中设置Windows系统的应用软件。有了PD虚拟机的帮助&#xff0c;大家可以直接在Mac系统中使用其他如Windows的虚拟机系统&#xff0c;除此以外&#xff0c;…

软件RAID配置实战(2个案例场景)

文章目录 3、软件RAID管理-mdadm工具安装mdadm组件格式示例选项说明mdadm命令其它常用选项 4、相关查询命令查看创建RAID的进度查看RAID磁盘详细信息查看文件系统的磁盘空间使用情况 5、RAID配置示例场景1&#xff1a;RAID5步骤 场景2&#xff1a;RAID10步骤 6、移除RAID阵列 接…

031_java.util.concurrent.CopyOnWriteArrayList

继承体系 CopyOnWriteArrayList存在的目的是为了解决在高并发下list的读写。设计上希望只阻塞写行为&#xff0c;不会阻塞读行为。CopyOnWriteArrayList设计就基于此&#xff0c;在内部含有ReentrantLock用作修改时加锁&#xff0c;CopyOnWriteArrayList下有很多可以写方法&…

三种向量相似度计量方法——欧式距离、余弦相似度、皮尔逊相关系数

1、欧式距离 欧氏距离在机器学习可以清晰展示不同对象的相似程度。 欧式距离是最直观的距离度量方法之一&#xff0c;它衡量两个点之间的直线距离, 较小的欧式距离意味着较高的相似度。 分类——K近邻算法&#xff08;KNN&#xff09;&#xff1a;需要对一个新的样本进行分类…

IIS6 PUT漏洞

一.漏洞描述 IIS Server 在 Web 服务扩展中开启了 WebDAV &#xff0c;配置了可以写⼊的权限&#xff0c;造成任意⽂件上传 1.1环境搭建 环境 fofa&#xff1a;"IIS-6.0" 本地搭建2003 server 1.2漏洞复现 1.开启 WebDAV 和写权限&#xff1a; 1.3 漏洞复现 使…

随笔(三)——项目代码优化

文章目录 一、数据驱动的优化点0.项目技术1.需求说明2. 优化前3.优化后&#xff08;复杂版&#xff09;4.优化后&#xff08;可读性高版&#xff09; 二、使用循环遍历&#xff0c;减少if-else1.源代码2. 优化后3. 优点 一、数据驱动的优化点 0.项目技术 vue2 view design …

OpenAI 推出 gpt-4o-2024-08-06 模型 解析结构化输出功能 附体验平台

人工智能技术的边界再次被突破&#xff0c;OpenAI 社区迎来了 gpt-4o-2024-08-06 模型的问世&#xff0c;这不仅是一次技术的飞跃&#xff0c;更是对智能助手功能和可靠性的一次全面革新。 技术革新&#xff1a;gpt-4o-2024-08-06 模型的诞生 gpt-4o-2024-08-06 模型是 OpenA…

【深度学习】用Pytorch完成MNIST手写数字数据集的训练和测试

模型训练相关 思路&#xff1a; 导入数据集&#xff08;对数据集转换为张量&#xff09;加载数据集&#xff08;使数据集成为可以进行迭代&#xff09;搭建卷积模型进行模型训练&#xff08;每训练一轮查看一次在测试集上的准确率&#xff09;使用tensorboard进行可视化保存训…

MySQL3 DQL数据查询语言

DQL SQL-DQL重要地位简单查询selectjia简单查询数据准备别名(AS)消除重复行(DISTINCT去重)算数运算符0.优先级1.算数运算符2.比较运算符3.逻辑运算符4.位运算符 空值空值参与运算 条件查询普通条件查询特殊比较运算符BETWEEN...AND...INLIKEIS NULLleast&#xff0c;greatest运…

Unity补完计划 之 SpriteEditer SingleMode

本文仅作笔记学习和分享&#xff0c;不用做任何商业用途 本文包括但不限于unity官方手册&#xff0c;unity唐老狮等教程知识&#xff0c;如有不足还请斧正 因为unity不只是3d需要&#xff0c;还有2d游戏需要大量编辑处理图片素材&#xff0c;所以需要了解Sprite&#xff08;精灵…

ASC格式的协议数据解析

函数来自RTT的AT组件 - at_client.c 例如&#xff0c;数据是 CGREG: 0,1&#xff0c;通过at_resp_parse_line_args_by_kw把1赋予link_stat。 简化从AT响应中提取信息的过程&#xff0c;使得编写与硬件通信的代码更加简洁和易于维护。 这么提数据也太方便了 at_resp_parse_l…

结构体练习作业

作业一:结构体数组存储学生信息(姓名&#xff0c;年龄&#xff0c;分数)&#xff0c;完成输入学生信息&#xff0c;输出学生信息&#xff0c;求学生成绩之和&#xff0c;求最低学生成绩。 .h文件 main.c .c文件 输入信息 输出信息 平均值 最低值 作业二:在堆区&#xff0c;申…

STC-ISP升级MCU

STC-ISP升级mcu步骤&#xff1a; 1、RS232线连接电脑&#xff0c;芯片型号选择STC8H8K64U 2、波特率选择115200 3、IRC频率选择24MHz 4、设置EEPROM大小为64K 如下图设置&#xff1a; 插上RS232选择相应的COM口&#xff1a; 我这里的COM口是COM5. 打开程序文件&#xff1…

揭秘Redis的“隐藏武器”:跳跃表的原理与应用

1. 引言 1.1 Redis的快速崛起 Redis&#xff0c;全名为Remote Dictionary Server&#xff0c;是一个开源的高性能键值对存储系统&#xff0c;它提供了多种类型的数据结构&#xff0c;如字符串、列表、集合、有序集合等。由于其高性能、持久化选项以及丰富的特性&#xff0c;Re…

【已解决】如何获取到DF数据里最新的调薪时间,就是薪资最高且时间最早?

问题说明&#xff1a; 前几天在Python最强王者交流群【群除我佬】问了一个Pandas处理的问题&#xff0c;这里拿出来给大家分享下。 看上去不太好理解&#xff0c;其实说白了&#xff0c;就是在工资最高里&#xff0c;再找时间最早的。 换句话说就是&#xff0c;这三个人&…

益九未来CEO曾宪军:创新引领,打造智能售货机行业新标杆

在智能零售行业迅速发展的今天&#xff0c;益九未来&#xff08;天津&#xff09;科技发展有限公司正以其创新精神和前瞻性的战略布局&#xff0c;引领着智能售货机市场的潮流。而这一切的背后&#xff0c;离不开总经理&#xff08;CEO&#xff09;曾宪军先生的卓越领导和远见卓…