时间复杂度计算-例题集合

简介: 各种时间复杂度计算集合

一、常数阶

int result = 100; //运行程序只执行一次  
 
result ++ ;  //执行一次
 
System.out.println ("Hello!"+result); //执行一次 

上面算法的运行的次数的函数为f(n)=3,根据推导大O阶的规则1,每次运行程序每条语句执行一次,所以这个算法的时间复杂度仍旧是O(1),我们可以称之为常数阶。
二、线性阶

 
for(int i=0;i<n;i++){
 
   System.out.println(result[i]);  //执行一次
 
}

线性阶主要要分析循环结构的运行情况。
上面算法循环体中的代码执行了n次,因此时间复杂度为O(n),实际上,在for循环里面的所有时间复杂度为O(1)的语句总的时间复杂度都是O(n)。
三、对数阶

 
int result=1;
 
while(result<n){
 
    result=result*2; //时间复杂度为O(1)
 
}

可以看出上面的代码, result=result*2; 随着result每次乘以2后,都会越来越接近n,当result大于等于n时就会退出循环(限制条件)。
如果循环的次数为T,所以2^T=n于是T=log₂n,因此得出这个算法的时间复杂度为O(logn)。
四、平方阶

     
    for(int i=0;i<n;i++){       
       for(int j=0;j<n;i++){     
           System.out.println(result[i][j]);  //执行一次     
       }     
    }

这是一个循环嵌套的语句,很明显内层循环的时间复杂度在讲到线性阶时就已经得知是O(n),又经过了外层循环n次,那么这段算法的时间复杂度则为O(n²)。

相关文章
|
机器学习/深度学习 人工智能 自然语言处理
简述人工智能,及其三大学派:符号主义、连接主义、行为主义
简述人工智能,及其三大学派:符号主义、连接主义、行为主义
7408 0
简述人工智能,及其三大学派:符号主义、连接主义、行为主义
|
缓存 JavaScript
【Node】node.js安装与配置(详细步骤)
【Node】node.js安装与配置(详细步骤)
5182 2
|
JavaScript Shell 资源调度
1.【TypeScript 教程】TypeScript 安装与使用
1.【TypeScript 教程】TypeScript 安装与使用
291 4
|
存储 小程序 前端开发
毕业设计:微信小程序健康管理系统的开发与实现
经过调查和走访研发的这套在线健康管理系统,采用微信小程序云开发实现,基于Mongodb数据库进行数据存储,前端使用微信小程序开发实现,后端基于Nodejs开发实现。系统前端用户主要实现查看新闻通知、体检知识、在线体检预约、查看我的预约、修改个人资料等。后台主要实现用户管理、内容管理、活动和预约管理、统计预约用户数等功能。这套系统的上线对于人们健康的管理和体检预约都有很大帮助。...
3833 3
毕业设计:微信小程序健康管理系统的开发与实现
|
开发工具 git
完美解决 fatal: unable to access ‘https://github.com/.../.git‘: Could not resolve host: github.com
完美解决 fatal: unable to access ‘https://github.com/.../.git‘: Could not resolve host: github.com
35603 1
|
存储 缓存 安全
图解用户登录验证业务流程(推荐)
图解用户登录验证业务流程(推荐)
图解用户登录验证业务流程(推荐)
|
IDE 开发工具 开发者
PyCharm安装教程(图文结合,超详细,小白安装必看)
PyCharm安装教程(图文结合,超详细,小白安装必看)
|
SQL 安全 前端开发
全栈开发实战|​名片管理系统的设计与实现(SSM + JSP)
全栈开发实战|​名片管理系统的设计与实现(SSM + JSP)
2009 0
全栈开发实战|​名片管理系统的设计与实现(SSM + JSP)
【动态规划】多段图最短路径(动图演示)
多段图是一个有向的无环图。求解从起始点v0到终止点的最短路径的长度, 首先看一下这个问题是否具有最优子结构的性质。对于每一点来说,从v0 到它的最短路径有两种可能,分别是从v0直接到该点或者是从最短的前驱 节点开始到该节点。从这里可以看出有递归的性质,所以使用回溯的方法 也是可以解决的。即从终点开始,依次向前找到最短的路径。由于递归本 身所用的时间较长,并且在回溯的过程中存在重复的工作,所以使用动态规划更好。
【动态规划】多段图最短路径(动图演示)
|
存储 机器学习/深度学习 算法
数据结构学习笔记——图的遍历算法(深度优先搜索和广度优先搜索)
数据结构学习笔记——图的遍历算法(深度优先搜索和广度优先搜索)
数据结构学习笔记——图的遍历算法(深度优先搜索和广度优先搜索)