时间复杂度与空间复杂度的基本概念
2017-05-25 11:19
225 查看
时间复杂度:
时间复杂度是指计算函数执行的基本次数,这里所指的函数是指数学里面的函数。
计算时间复杂度的时候一般会采用取大舍小的方法,比如时间复杂度=N^2+10,我们就会舍去10
一个函数的算法我们也分好几种情况,而我们一般都是考虑最坏的情况。
最好情况:输入的次数是函数运行的最小运行时间。
最坏情况:输入的次数是函数的最大运行时间。
平均情况:输入的次数是函数运行次数期望的运行时间。
我们举一些简单的例子:
void Test1(int N)
{
int i = 0;
int j = 0;
int k = 0;
for (i = 0; i < N; ++i)
{
for (j = 0; j < N; ++j)
{
//……
}
}
for (k = 0; k < 2 * N; ++k)
{
//……
}
int count = 10;
while (count--)
{
//……
}
}
#include<stdio.h>
int main()
{
Test1;
return 0;
}她的时间复杂度为:O(N^2)
void Test2(int N;int M)
{
int i = 0;
int j = 0;
for (i = 0; i < M; ++i)
{
}
for (j = 0; j < N; ++j)
{
}
}
#include<stdio.h>
int main()
{
Test2;
return 0;
}它的时间复杂度是:O(M*N)
递归算法的时间复杂度为:递归总次数*每次递归的次数
空间复杂度:
空间复杂度的计算与空间复杂度类似,也是用O的渐进表示法。
要注意的是递归算法的空间复杂度,假如递归深度为N*每次递归的空间大小,如果每次递归的空间为常数,则空间复杂度为O(N)。
以斐波那数列学习时间复杂度与空间复杂度
他是以兔子生长数目为例子:
第一个月月初有一对刚诞生的兔子,第二个月之后(第三个月初)它们可以生育,每月每对可生育的兔子会诞生下一对新兔子,兔子永远不死去
这个函数的定义为:
它的时间复杂度是:O(2^N),它的空间复杂度是O(N).
时间复杂度是指计算函数执行的基本次数,这里所指的函数是指数学里面的函数。
计算时间复杂度的时候一般会采用取大舍小的方法,比如时间复杂度=N^2+10,我们就会舍去10
一个函数的算法我们也分好几种情况,而我们一般都是考虑最坏的情况。
最好情况:输入的次数是函数运行的最小运行时间。
最坏情况:输入的次数是函数的最大运行时间。
平均情况:输入的次数是函数运行次数期望的运行时间。
我们举一些简单的例子:
void Test1(int N)
{
int i = 0;
int j = 0;
int k = 0;
for (i = 0; i < N; ++i)
{
for (j = 0; j < N; ++j)
{
//……
}
}
for (k = 0; k < 2 * N; ++k)
{
//……
}
int count = 10;
while (count--)
{
//……
}
}
#include<stdio.h>
int main()
{
Test1;
return 0;
}她的时间复杂度为:O(N^2)
void Test2(int N;int M)
{
int i = 0;
int j = 0;
for (i = 0; i < M; ++i)
{
}
for (j = 0; j < N; ++j)
{
}
}
#include<stdio.h>
int main()
{
Test2;
return 0;
}它的时间复杂度是:O(M*N)
递归算法的时间复杂度为:递归总次数*每次递归的次数
空间复杂度:
空间复杂度的计算与空间复杂度类似,也是用O的渐进表示法。
要注意的是递归算法的空间复杂度,假如递归深度为N*每次递归的空间大小,如果每次递归的空间为常数,则空间复杂度为O(N)。
以斐波那数列学习时间复杂度与空间复杂度
他是以兔子生长数目为例子:
第一个月月初有一对刚诞生的兔子,第二个月之后(第三个月初)它们可以生育,每月每对可生育的兔子会诞生下一对新兔子,兔子永远不死去
这个函数的定义为:
它的时间复杂度是:O(2^N),它的空间复杂度是O(N).
相关文章推荐
- 数据结构(一):数据结构的基本概念和算法的时间和空间复杂度
- 时间复杂度和空间复杂度小结
- 时间复杂度和空间复杂度详解
- 命名空间的基本概念
- 时间复杂度和空间复杂度
- 时间复杂度和空间复杂度
- 时间复杂度和空间复杂度
- H264基本概念之 色彩空间(RGB vs YUV)
- 第一天,第一个C#程序,学习C#基本语法。掌握命名空间、类、变量、方法等基本概念。
- 时间复杂度和空间复杂度
- DB2基本概念——实例,数据库,模式,表空间
- javaseday36(dom基本概念 名称空间 通过document 获取节点多种方式)
- 时间复杂度和空间复杂度
- 时间复杂度和空间复杂度详解
- 时间复杂度O(n)空间复杂度O(1)打印二叉树前中后序
- 时间复杂度和空间复杂度
- 时间复杂度和空间复杂度详解
- 时间复杂度与空间复杂度
- 时间复杂度和空间复杂度 1
- 时间复杂度O(n)空间复杂度O(1)打印二叉树前中后序