双层for循环时间复杂度_2 常见的时间复杂度实例
系列文章参考资料为《大话数据结构》,源码为个人私有,未经允许不得转载
1.常数阶
参考下高斯的算法,时间复杂度为O(1)
int sum = 0,n = 100; /* 执行一次 */
sum = (1 + n) * n / 2; /* 执行一次 */
printf("%d", sum); /* 执行一次 */
函数的运行次数函数f(n)=3
根据大0阶方法,第一步就是把3改为1,而且这个算法是没有最高阶的,所以这个算法的时间复杂度是O(1),也叫常数阶
2.线性阶
因为要执行n次,时间复杂度为O(n)
int i;
for(i = 0; i < n; i++)
{/* 时间复杂度为O(1)的程序步骤序列 */
}
3.对数阶
每次count乘2距离n就更近,也就是说有多少2相乘后会大于n,然后退出循环,2^x=n 得到x=log2n,时间复杂度为O(logn)
int count = 1;
while (count < n)
{count = count * 2;/* 时间复杂度为O(1)的程序步骤序列 */
}
4.平方阶
外层循环次数为n,内部也为n,时间复杂度为O(n^2)
int i,j;
for(i = 0; i < n; i++)
{for(j = 0; j < n; j++) { /* 时间复杂度为O(1)的程序步骤序列 */}
}
常见的时间复杂度总结
--------------------------------------------------------END-----------------------------------------------------------
电子书及源码点击下载
双层for循环时间复杂度_2 常见的时间复杂度实例相关推荐
- 常见的时间复杂度算法
算法时间复杂度排行 O(1)常数阶 < O(logn)对数阶 < O(n)线性阶 < O(n^2)平方阶 < O(n^3)(立方阶) < O(2^n) (指数阶) 常见的 ...
- 时间复杂度计算方法以及常见的时间复杂度
目录 零,前言 一,时间复杂度的概念理解 二,时间复杂度的计算 三,常见的时间复杂度 1,常数阶 2,线性阶 3,对数阶 4,指数阶 5,根号阶 6,阶乘阶 零,前言 时间复杂度衡量着一个程序的好坏, ...
- 算法中七种常见的时间复杂度
这是我的推广信息,以激励自己更好的分享自己的知识和经验!也希望看到的你能够多多支持,谢谢! 1. 滴滴云AI大师: 目前滴滴云正在大力推广自己的云计算服务,需要购买的朋友们用我的AI大师码 「2049 ...
- 数据结构中常见的时间复杂度分析题目
数据结构中常见的时间复杂度分析题目 时间复杂度基本概念 例如上面的代码,我们可以表示成T(n) = O(f(n)),而f(n) = 2n + 3.我们使用大O表示法可以写为T(n) = O(n). 分 ...
- 常见的时间复杂度和排序算法
1.常见的时间复杂度 (1)O(1):常量阶,运行时间为常量 (2)O(logn):对数阶,如二分搜索算法 (3)O(n):线性阶,如n个数内找最大值 (4)O(nlogn):对数阶,如快速排序算法 ...
- python排序算法的时间复杂度_Python算法的时间复杂度和空间复杂度(实例解析)
算法复杂度分为时间复杂度和空间复杂度. 其作用: 时间复杂度是指执行算法所需要的计算工作量: 而空间复杂度是指执行这个算法所需要的内存空间. (算法的复杂性体现在运行该算法时的计算机所需资源的多少上, ...
- java中怎么计算算法的时间复杂度_算法的时间复杂度和空间复杂度计算
一.算法的时间复杂度定义 在进行算法分析时,语句总的执行次数T(n)是关于问题规模n的函数,进而分析T(n)随n的变化情况并确定T(n)的数量级.算法的时间复杂度,也就是算法的时间量度.记作:T(n) ...
- python时间复杂度和空间复杂度_时间复杂度和空间复杂度
时间复杂度 执行算法所需的计算工作量.一般来说,计算机算法是问题规模n的函数f(n),算法的时间复杂度也因此记做T(n)=O(f(n)); 常见时间复杂度有:常数阶.线性阶.平方阶.立方阶.对数阶.n ...
- 十分钟搞定时间复杂度(算法的时间复杂度)
目录 一.什么是时间复杂度 二.时间复杂度的计算 单个循环体的推导法则 多重循环体的推导法则 多个时间复杂度的推导法则 条件语句的推导法则 习题练习 一.基础题 二.进阶题 三.再次进阶 一.什么是时 ...
最新文章
- 小小一招巧解任何电脑的开机密码,无需任何工具,无需放电
- CListCtrl使用技巧
- hikaripool连接保持_springboot2的hikari数据库连接池默认配置
- iqooneo5支持鸿蒙系统吗,iqooneo5活力版有双卡双待吗_iqooneo5活力版支持5g吗
- not in the sudoers file. This incident will be reported.
- 求乘法逆元的几种方法
- php创建分页类,一个最强的PHP通用分页类
- 【图像处理】——Python OpenCV实现形态学膨胀、腐蚀开闭操作(可以用于图像滤波、图像分割等)
- [前台]---js中去掉双引号或者单引号
- 洛谷——P1009 [NOIP1998 普及组] 阶乘之和
- MySQL5.5编译工具configure向cmake过渡指南
- Gink掉过的坑(一):将CCTableView导入到lua中
- python正则表达式 多个条件的匹配
- 3-23 实对称矩阵知识补充
- 【cocos2d游戏开发实战】一款射击类小游戏《Zombie Age》的开发(一)
- opencv之fitline直线拟合
- 如何寻求解脱_在设计中寻求安慰
- 如何做好项目规划?以及项目规划常用的管理软件盘点
- 基于SSM框架简易项目“书籍管理系统”,超详细讲解,附源码
- [zz]从软件工程师到IT猎头:我的一点经历和感触zt
热门文章
- 深度学习入门之PyTorch学习笔记:深度学习介绍
- python引用传递的区别_python的值类型和引用类型及值传递和引用传递的区别
- 程序员35岁之后的出路_我35岁,被裁员,开始给程序员规划人生
- Tomcat9URL不支持特殊字符解决方案
- 调整了canvas的高度页面变化后还原_Python GUI编程入门(25)-移动Canvas对象
- 服务外包技术培训——后端开发技术栈分析(Java)
- 播放[.m3u8]链接解决方案
- BugKuCTF WEB 变量1
- [BeiJing2010组队]次小生成树 Tree
- h5游戏搭建教程php,H5游戏幻梦西游:笑闹天宫搭建教程及演示