这次来介绍算法,时间复杂度和空间复杂度。
算法是程序设计的核心,那么何为算法,我们以下面这张图来大致感受一下
实现算法可以用文字,代码或伪代码,需要注意的是实现一个好算法的前提。算法概念不是特别重要,接下来介绍相对更重要的内容–时间复杂度。
我们再以一张图来理解时间复杂度
举个例子
int main()
{
int tmp = 0;
int positive = 0;
int negative = 0;
int n=0;
scanf("%d",&n);
for (int i = 0; i < n; i++)
{
scanf("%d", &tmp);
if (tmp > 0)
{
positive++;
}
else if (tmp < 0)
{
negative++;
}
}
printf("positive:%d\nnegative:%d\n", positive, negative);
return 0;
}
在上面这个统计输入数字中正数和负数的个数的程序中,找到最深层循环即for循环,计算时间复杂度为O(n)即整个程序的时间复杂度。
由于现在的计算机性能越来越高,因此对空间复杂度的要求不是太看重,只需要大致了解即可
制作不易,希望大家能点个小小的赞~
参考资料:王道论坛考研数据结构