1案例一
下图显示一个递归函数
假设内存有一块空间,这个程序可以用 ,N传进来部为0,它递归调用PrintN,传进去99999 ,调用这个函数前要把printN(100000)状态存进内存,执行完在恢复。最后存在系统里的一块内容是PrintN(1) 。
它在内存里占用的数量与 N成正比。N大的话,有限的空间爆掉就会非正常退出。
循环 只用了零时变量和for循环,没涉及程序调用,不管N多大战友空间都是固定,空间占用是一个常量。
2案例二
机器运算加减法比乘除法快很多,因此时间复杂度就是计算乘除 法数量。
第一个函数每一次循环进行1+i-1=i次乘法
第二个函数每次进行一次乘法
c1 c2 c每台电脑跑起来不一样,
n
2
\mathrm{n}^{2}
n2远远大于n所以第二种效率高
3 判断好算法标准
比较关心最坏情况复杂度。