当前位置: 首页 > news >正文

04时间复杂度计算方法

时间复杂度计算的基本步骤

  1. 确定基本操作:分析算法中最核心、重复执行的语句,这通常是循环或递归内部的操作。
  2. 统计执行次数:计算基本操作语句在输入规模n下的执行总次数,这就是算法的时间频度T(n)T(n)T(n)
  3. 忽略低阶项和常数因子:只保留最高阶项,去掉系数与低阶项。
  4. 用大O表示法表示:最终将时间复杂度写成O(f(n))O(f(n))的形式。

常见简单循环代码的时间复杂度

单层循环

for i in range(n):# 基本操作do_something()
  • 基本操作执行了 n 次
  • 时间复杂度:O(n)O(n)O(n)

双层嵌套循环

for i in range(n):for j in range(n):do_something()
  • 每次外层循环,内层循环执行n次,因此总共n×n=n2n×n=n^2n×n=n2次。
  • 时间复杂度:O(n2)O(n^2)O(n
http://www.dtcms.com/a/334460.html

相关文章:

  • Python 桌面应用形态后台管理系统的技术选型与方案报告
  • Linux系统之lslogins 命令详解
  • vector 手动实现 及遇到的各种细节问题
  • 深入剖析 TOTP 算法:基于时间的一次性密码生成机制
  • Golang分布式事务处理方案
  • 如何在win服务器中部署若依项目
  • JVM垃圾回收器
  • 深度解析Java synchronized关键字及其底层实现原理
  • python学习DAY43打卡
  • C++实战
  • 如果构建企业本地的ERP智能ai系统,让先进的大模型数据处理ERP的各类数据,更加轻松智能,准确?从企业资源计划ERP变成企业资源智能EPA的升级
  • CUDA 编程笔记:CUDA内存模型概述
  • 【数据库】Oracle学习笔记整理之五:ORACLE体系结构 - 参数文件与控制文件(Parameter Files Control Files)
  • 虚拟专用网技术
  • Gradle#构建生命周期三个阶段
  • PyTorch神经网络工具箱(如何构建神经网络?)
  • 基于几何平面的寻路算法:SPEV1Auxiliary全面解析
  • 数据库Microsoft Access、SQL Server和SQLite三者对比及数据库的选型建议
  • Win11家庭版docker安装Minio
  • HTTP 1.0, 2.0 和 3.0 有什么区别?
  • Day11 栈与队列part2
  • 图论Day4学习心得
  • Git Revert 特定文件/路径的方法
  • 使用openssl创建自签名CA并用它签发服务器证书
  • 技术赋能与深度洞察:北京国标政务窗口第三方调查
  • 【攻防实战】红队攻防之Goby反杀
  • day34-LNMP详解
  • 数据结构:构建 (create) 一个二叉树
  • 【图论】分层图 / 拆点
  • 算法训练营day53 图论④ 110.字符串接龙、105.有向图的完全可达性、106.岛屿的周长