首页 > 其他分享 >【复杂度】时间复杂度的理解

【复杂度】时间复杂度的理解

时间:2022-10-11 18:33:12浏览次数:79  
标签:表示 复杂度 算法 理解 时间 代码执行 2n

算法追求:更少的时间和更少的存储。

1.什么是时间复杂度

就是算法的运行时间,假设每行代码执行时间为t,则算法运行时间 = 代码总行数 × t。
以下代码执行的时间 = 1t+m×t+m×t = (1+2m)t
image

用 \(T(n)\) 表示算法执行时间。

\(f(n)\) 表示所有语句执行次数,则对于上面的代码 \(f(n) = 1+2n\) 。

\[T(n) = f(n)×t = (1+2n)×t \]

算法执行时间 \(T(n)\) 和数据规模n相关,\(n\) 趋近于无穷时,\(T(n)\) 有一个增长趋势。
使用大O表示这种增长趋势,大 \(O = O(f(n))\) 可以直接用来表示时间复杂度。
大O表示增长趋势,有如下公式

  1. \(O(kf(n))=O(f(n))\)
  2. \(O(f(a))=O(f(b))\)
  3. \(O(f(n)+g(n))=O(max{O(f(n)),O(g(n))})\)

image

参考:

  1. 时间复杂度的理解和计算
  2. 用通俗的语言讲解复杂度

标签:表示,复杂度,算法,理解,时间,代码执行,2n
From: https://www.cnblogs.com/zhishu/p/16776681.html

相关文章

  • 如何将日期时间输出带"AM/PM"的字样呢?
    转自:http://www.java265.com/JavaJingYan/202111/16359117291672.html 格式化日期是我们日常开发中经常要用到的小技巧,因为每个项目的使用者都对自己的时间样式有自己......
  • 时间转换工具
    /***毫秒转换为时间字符串*@parammilliseconds*@return*/publicstaticStringtimeStampToDhms(longmilliseconds){longday=TimeUnit.MILLISECONDS.toDa......
  • mysql 时间函数
    时间格式转换标准时间格式:2017-05-1211:41:55--字符串转换为日期函数:str_to_date(str,format)SELECTSTR_TO_DATE('06.05.201719:40:30','%m.%d.%Y%H:%i:%s');--......
  • 简析 Linux 的 CPU 时间
    从CPU时间说起...下面这个是top命令的界面,相信大家应该都不陌生。top-19:01:38up91days,23:06,1user,loadaverage:0.00,0.01,0.05Tasks:151total,......
  • Mysql关于时间的一些总结
    一、mysql获取当月的第一天获取当前时间SQL:SELECT结果:2017-12-27获取当前日期是当月的多少天SQL:SELECTDAY结果:27获取当月第一天SQL:SELECTDATE_ADD(CURDATE(),INTER......
  • Add and Mex(时间复杂度,枚举)
    题意给定一个包含\(N\)个元素的序列\(A=(A_1,\dots,A_N)\)。下述操作执行\(M\)次:对于每个\(i,(1\leqi\leqN)\),将\(A_i\)加上\(i\)。然后求序列的mex。题目链接......
  • IT项目管理学习笔记3(项目时间管理)
    IT项目管理学习笔记3(项目时间管理)项目时间管理的主要过程计划进度管理(planningschedulemanagement)定义活动(definingactivities)排序活动(sequenceactivit......
  • Arrow,一个更好用的Python时间序列处理库!
    本文大纲总有人问我,应该​​怎么学习​​​某个知识点?下面的大纲就是很好的证明了。不管学习什么,总结和对比是很有必要的,这就是我们说的逻辑。当你把某个知识点的​​学习逻......
  • JS_0066:date 相关方法 获取时间字符串 计算时间差
    1,获取时间字符串varnowdatestr=newDate().toLocaleDateString();获取时间格式如:2022/10/10 2,计算时间差$nowdate=date('Y-m-dH:i:s',time());$ret['leftday......
  • 软件工程的理解
    什么是软件工程软件工程是关于设计、构建并维护满足客户需求的软件的学科,因“软件危机”应运而生,用工程的思维、概念和技术指导软件的开发与维护。软件工程方法学包含方......