第一讲[200225]
练习题
1.用伪代码写出求整数最大公因子的欧几里得算法
GCD(a,b)
r=a%b
If b=0
Then Return b
Else Return GCD(b,r)
2.考虑如下伪代码
F(n)
1 if n=1
2 then return 1
3 else return n* F(n-1)
这是计算n!的算法
3.时间复杂度是否是衡量一个算法性能的主要标准,为什么?
是的,时间复杂决定了执行一个算法的时间资源,那么对选择算法与选择设备有极大的参考意义
4.包含死循环的程序是不是算法,为什么?
不是算法。因为对于一些输入,它不会停下来。
5.是否可以通过提高算法的时间复杂性来降低其空间复杂性?
这是可以的。比如桶排序,虽然时间复杂性非常低,但是空间复杂性很高,那么我们可以改成虽然时间复杂度高一点的快速排序,来节约空间。