计算
1.视频中提到的Hailstone问题(又名3n+1问题)中Hailstone(n)的计算程序是不能确定是否存在n,使程序无法终止
解析:Hailstone问题至今仍未得到证明,即至今没有人证明对所有的正整数,Hailstone(n)过程都可以终止。
2.判断一个算法是否是一个“好算法”,最重要的一条性质是效率
计算模型
1.以下哪项不是图灵机的组成要件?有限长的纸带
解析:作为一个理想计算模型,图灵机的纸带是两端无线延伸的无限长纸带。
2.RAM模型与图灵机模型的区别在于图灵机的存储空间无限,而RAM的存储空间有限。×
解析:RAM模型中寄存器的总数没有限制(虽然我们平时使用的计算机无法做到),它与图灵机是等价的。
算法分析
1.1+1/2+1/3+…+1/n=O(logn)
2.x=n;
y=1;
while(x>=(y−1)∗(y−1))
y++;
以上程序的时间复杂度为O(O(n−−√))
解析:由程序可知(y−1)2≤n,由此可得y≤n√+1,程序执行次数为不大于n的完全平方根加1的最大整数。
3.经过k轮扫描交换后,起泡排序程序会将问题规模缩减至k。×
解析:经过k轮扫描交换后,最大的k个元素已经就位,因此问题规模缩减为n-k
迭代与递归
1.用分而治之的思想来解决长度为n的数组的求和问题(n足够大),递归实例的数目是否会比用减而治之的方法少
解析:减而治之的算法中,递归实例分别是:1个规模为n的实例、1个规模为n-1的实例、1个规模为n-2的实例、…,共有n个。