网站软件定制开发公司,wordpress去掉时间,网站被盗用,汝州市住房和城乡规划建设局网站1.空间复杂度计算方法 2.时间复杂度计算方法非递归递归情况递归总次数*每次递归次数 1.空间复杂度
空间复杂度是指 执行这个算法所需要的内存空间。空间复杂度是函数中创建对象的个数关于问题规模函数表达式#xff0c;一般情况下用O渐进表示法表示
计算方法
1.忽略常数一般情况下用O渐进表示法表示
计算方法
1.忽略常数用O(1)表示 2.递归算法的空间复杂度递归深度*每次递归所要的辅助空间 3.对于单线程来说递归有运行时堆栈求的是递归最深的那一次压栈所耗费的空间的个数因为递归最深的那一次所耗费空间足以容纳它所有递归过程。递归是要返回上一层的所以它所需要的空间不是一直累加起来的。
2.时间复杂度
时间复杂度是指 执行这个算法所需要的计算工作量。
计算方法
1.用常数1取代运行时间中的所有加法常数 2.在修改后的运行次数函数中只保留最高阶项 3.如果最高阶项系数存在且不是1则去除与这个项相乘的常数
非递归
void Test(int n)
{int iCount 0;for (int iIdx 0; iIdx 10; iIdx){iCount;}
}//执行总次数f(n)10 1
//则O(n)O(1)
递归情况递归总次数*每次递归次数
int Jie_Cheng(int n)
{if (n 2)return 1;elseint i n;int tmp Jie_Cheng(n - 1);return n * tmp;
}
//每次递归次数2
//递归总次数n
//2*n 所以O(n)O(n)