常见的时间复杂度
常数阶 O(1) 顺序语句
int sum = 0, n = 100; sum = (1+n)*n/2;
线性阶 O(n) FOR循环
int i, sum = 0, n = 100; for( i=1; i <= n; i++ ) { sum = sum + i; }
平方阶 O(n^2) 嵌套的FOR循环
int i, j, x=0, sum=0, n=100; for( i=1; i <= n; i++ ) { for( j=1; j <= n; j++ ) { x++; sum = sum + x; } }
int factorial(int n) { if(n <= 1) { return 1; } else { return n*factorial(n-1); } }
对数阶 O(logn)
int i = 1, n = 100; while( i < n ) { i = i * 2; }
nlogn阶 O(nlogn)
立方阶 O(n^3)
指数阶 O(2^n)
常用的时间复杂度消耗的时间从小到大以此是O(1) < O(logn) < (n) < O(nlogn) < O(n^2) < O(n^3) < O(2^n) < O(n!) < O(n^n)
请给出一下代码的时间复杂度
int factorial(int n) { if(n <= 1) { return 1; } else { return factorial(n-1)*factorial(n-2); } }
n++; function(n); for(i=0; i < n; i++) { function(i); } for(i=0; i < n; i++) { for(j=i; j < n; j++) { printf(“%d”, j); } } void function(int count) { int j; for(j=count; j < n; j++) { printf(“%d”, j); } }
int i, j, x=0, sum=0, n=100; for( i=1; i <= n; i++ ) { for( j=i; j <= n; j++ ) { x++; sum = sum + x; } }
相关推荐
关于算法时间复杂度的计算 关于算法时间复杂度的计算 关于算法时间复杂度的计算
数据结构时间复杂度
平衡二叉树时间复杂度计算1
算法 时间复杂度 空间复杂度 经典算法 时间复杂度 空间复杂度 经典算法 时间复杂度 空间复杂度 经典
对若干个数据进行操作,实现快速排序、选择排序、直接插入排序、堆排序算法时间复杂度的比较;并在排序数据中快速查找某一数据,给出查找是否成功,以及数据所在的位置信息。
算法设计目标与时间复杂度与空间复杂度.ppt
算法实验代码和报告(时间复杂度、0-1背包问题、分治与贪心、蛮力法)。
对时间复杂度和空间复杂度进行超级详细的讲解
大学二年级课程 算法设计与分析的一般算法时间复杂度的证明过程,希望可以帮到大家.
根号n段归并排序算法时间复杂度分析过程: 1.合并 根号n向下取整 段子数组使用的是自底向上两两归并的策略 2.根号n段归并排序算法时间复杂度的数学推导
算法的设计与分析,时间复杂度讨论,实验报告。
算法的时间复杂度分析 期刊网站都是要现金的哦。
所有算法时间复杂度对比、图表形式、函数关系
时间复杂度为O(n)的找中位数算法源代码
算法设计基础资料。简要介绍了时间复杂度的计算,适于初学者
数据结构有关时间复杂度的复习资料,比较全。
时间复杂度和空间复杂度,大O表示法【数据结构和算法入门2】