目录
1.算法效率
一般而言分析算法效率的方式有两种,即:时间效率和空间效率。 时间效率也称为时间复杂度;空间效率也称为空间复杂度。 时间复杂度主要衡量的是一个算法的运行速度,而空间复杂度主要衡量一个算法所需要的额外空间。
2.时间复杂度
2.1时间复杂度的概念
时间复杂度的定义:是指在计算机科学与工程领域完成一个 算法 所需要的时间,是衡量一个算法优劣的重要 参数 。 时间复杂度 越小,说明该 算法 效率越高,则该算法越有价值。算法中基本操作的执行次数为算法的时间复杂度。
2.2大O的渐进表示法
void Func1(int N)
{
int count = 0;
for (int i = 0; i < N; i++)
{
for (int j = 0; j < N; ++j)
{
++count;
}
}
for (int k = 0; k < 2 * N; ++k)
{
++count;
}
int M = 10;
while (M--)
{
++count;
}
printf("%d\n", count);
}
Func1执行的基本操作次数:
F(N)=N^2+2*N+10